diff --git a/Troubleshooting.md b/Troubleshooting.md
index d9107ec..3e80a67 100644
--- a/Troubleshooting.md
+++ b/Troubleshooting.md
@@ -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.
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.
- - 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 Configure Your Build
+ * @see Versioning Your App
+ */
+ 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
// http://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.BuildType.html
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.