Updated Troubleshooting (markdown)
@ -55,9 +55,82 @@ If you are an Android Studio user, you can modify the SKYSTONE Android Studio pr
|
|||||||
3. Double click on build.common.gradle to edit the file.
|
3. Double click on build.common.gradle to edit the file.
|
||||||
4. In the script find the line _**abiFilters "armeabi-v7a", "arm64-v8a"**_ and remove the _**, "arm64-v8a"**_ portion of the line.
|
4. In the script find the line _**abiFilters "armeabi-v7a", "arm64-v8a"**_ and remove the _**, "arm64-v8a"**_ portion of the line.
|
||||||
- Note that there should be two references to _**arm64-v8a**_, one for the release version and the other for the debug version of the app.
|
- Note that there should be two references to _**arm64-v8a**_, one for the release version and the other for the debug version of the app.
|
||||||
- Remove the _**arm64-v8a**_ references from all instances within the build.common.gradle file. Your file should file should like the following:
|
- Remove the _**arm64-v8a**_ references from all instances within the build.common.gradle file.
|
||||||
|
- When you are done, your build.common.gradle file should like the following:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
/**
|
||||||
|
* build.common.gradle
|
||||||
|
*
|
||||||
|
* Try to avoid editing this file, as it may be updated from time to time as the FTC SDK
|
||||||
|
* evolves. Rather, if it is necessary to customize the build process, do those edits in
|
||||||
|
* the build.gradle file in TeamCode.
|
||||||
|
*
|
||||||
|
* This file contains the necessary content of the 'build.gradle' files for robot controller
|
||||||
|
* applications built using the FTC SDK. Each individual 'build.gradle' in those applications
|
||||||
|
* can simply contain the one line:
|
||||||
|
*
|
||||||
|
* apply from: '../build.common.gradle'
|
||||||
|
*
|
||||||
|
* which will pick up this file here. This approach allows makes it easier to integrate
|
||||||
|
* updates to the FTC SDK into your code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import java.util.regex.Pattern
|
||||||
|
|
||||||
|
apply plugin: 'com.android.application'
|
||||||
|
|
||||||
|
android {
|
||||||
|
|
||||||
|
compileSdkVersion 28
|
||||||
|
|
||||||
|
signingConfigs {
|
||||||
|
debug {
|
||||||
|
keyAlias 'androiddebugkey'
|
||||||
|
keyPassword 'android'
|
||||||
|
storeFile rootProject.file('libs/ftc.debug.keystore')
|
||||||
|
storePassword 'android'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
aaptOptions {
|
||||||
|
noCompress "tflite"
|
||||||
|
}
|
||||||
|
|
||||||
|
defaultConfig {
|
||||||
|
applicationId 'com.qualcomm.ftcrobotcontroller'
|
||||||
|
minSdkVersion 19
|
||||||
|
targetSdkVersion 26
|
||||||
|
|
||||||
|
/**
|
||||||
|
* We keep the versionCode and versionName of robot controller applications in sync with
|
||||||
|
* the master information published in the AndroidManifest.xml file of the FtcRobotController
|
||||||
|
* module. This helps avoid confusion that might arise from having multiple versions of
|
||||||
|
* a robot controller app simultaneously installed on a robot controller device.
|
||||||
|
*
|
||||||
|
* We accomplish this with the help of a funky little Groovy script that maintains that
|
||||||
|
* correspondence automatically.
|
||||||
|
*
|
||||||
|
* @see <a href="http://developer.android.com/tools/building/configuring-gradle.html">Configure Your Build</a>
|
||||||
|
* @see <a href="http://developer.android.com/tools/publishing/versioning.html">Versioning Your App</a>
|
||||||
|
*/
|
||||||
|
def manifestFile = project(':FtcRobotController').file('src/main/AndroidManifest.xml');
|
||||||
|
def manifestText = manifestFile.getText()
|
||||||
|
//
|
||||||
|
def vCodePattern = Pattern.compile("versionCode=\"(\\d+(\\.\\d+)*)\"")
|
||||||
|
def matcher = vCodePattern.matcher(manifestText)
|
||||||
|
matcher.find()
|
||||||
|
def vCode = Integer.parseInt(matcher.group(1))
|
||||||
|
//
|
||||||
|
def vNamePattern = Pattern.compile("versionName=\"(.*)\"")
|
||||||
|
matcher = vNamePattern.matcher(manifestText);
|
||||||
|
matcher.find()
|
||||||
|
def vName = matcher.group(1)
|
||||||
|
//
|
||||||
|
versionCode vCode
|
||||||
|
versionName vName
|
||||||
|
}
|
||||||
|
|
||||||
// Advanced user code might just want to use Vuforia directly, so we set up the libs as needed
|
// Advanced user code might just want to use Vuforia directly, so we set up the libs as needed
|
||||||
// http://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.BuildType.html
|
// http://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.BuildType.html
|
||||||
buildTypes {
|
buildTypes {
|
||||||
@ -77,6 +150,24 @@ If you are an Android Studio user, you can modify the SKYSTONE Android Studio pr
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
compileOptions {
|
||||||
|
sourceCompatibility JavaVersion.VERSION_1_7
|
||||||
|
targetCompatibility JavaVersion.VERSION_1_7
|
||||||
|
}
|
||||||
|
|
||||||
|
sourceSets.main {
|
||||||
|
jni.srcDirs = []
|
||||||
|
jniLibs.srcDir rootProject.file('libs')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
repositories {
|
||||||
|
flatDir {
|
||||||
|
dirs rootProject.file('libs')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
apply from: 'build.release.gradle'
|
||||||
```
|
```
|
||||||
5. In Android Studio, select Build->Clean Project to clean the project.
|
5. In Android Studio, select Build->Clean Project to clean the project.
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user