AndroidStudio:3.5.2
AndroidPhone:XiaoMi5 (Android 8.0)
AndroidDemo:3.1.4-44
AndroidDemo 源码路径:SimplicityStudio\v5\developer\sdks\gecko_sdk_suite\v3.2\app\bluetooth\android_application
一、修改为适合于 AndroidStdio 3.5.2 的 gradle 版本
--- android_application\gradle\wrapper\gradle-wrapper.properties
+++ android_application\gradle\wrapper\gradle-wrapper.properties
@@ -1,6 +1,6 @@
#Fri Jul 24 14:59:38 CEST 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
--- android_application\build.gradle
+++ android_application\build.gradle
@@ -24,13 +24,13 @@
maven { url 'https://maven.google.com' }
mavenCentral()
jcenter()
google()
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.0.2'
+ classpath 'com.android.tools.build:gradle:3.5.2'
classpath 'org.ajoberstar:grgit:1.5.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "de.mannodermaus.gradle.plugins:android-junit5:1.7.1.1"
}
}
二、解决长时间卡在 Gradle Resolve dependencies of:classpath 的问题
--- android_application\build.gradle
+++ android_application\build.gradle
@@ -18,14 +18,14 @@
}
buildscript {
ext.kotlin_version = '1.3.72'
ext.dagger_version = '2.21'
repositories {
- maven { url 'https://maven.google.com' }
- mavenCentral()
+// maven { url 'https://maven.google.com' }
+// mavenCentral()
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.2'
classpath 'org.ajoberstar:grgit:1.5.0'
三、移除需要用 gradle 6.1.1 才能使用包(6.1.1需要 AndroidStudio 4.0 以上版本)
--- android_application\build.gradle
+++ android_application\build.gradle
@@ -8,13 +8,13 @@
def buildNumber = 44
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
-apply plugin: "de.mannodermaus.android-junit5"
+// apply plugin: "de.mannodermaus.android-junit5"
kapt {
generateStubs = true
}
buildscript {
@@ -27,13 +27,13 @@
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.2'
classpath 'org.ajoberstar:grgit:1.5.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
- classpath "de.mannodermaus.gradle.plugins:android-junit5:1.7.1.1"
+// classpath "de.mannodermaus.gradle.plugins:android-junit5:1.7.1.1"
}
}
ext {
try {
grgit = Grgit.open(dir: '.')
@@ -146,20 +146,20 @@
kapt "com.google.dagger:dagger-compiler:$dagger_version"
kapt "com.google.dagger:dagger-android-processor:$dagger_version"
// View
implementation "com.daimajia.swipelayout:library:1.2.0@aar"
//Test
def mockKotlin = 'com.nhaarman.mockitokotlin2:mockito-kotlin:2.2.0'
- testImplementation 'org.junit.jupiter:junit-jupiter'
+// testImplementation 'org.junit.jupiter:junit-jupiter'
testImplementation mockKotlin
testImplementation 'androidx.arch.core:core-testing:2.1.0'
- testImplementation 'org.mockito:mockito-inline:2.13.0'
+// testImplementation 'org.mockito:mockito-inline:2.13.0'
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.7.1"
androidTestImplementation mockKotlin
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test:rules:1.3.0'
androidTestImplementation "org.mockito:mockito-android:2.24.5"
androidTestImplementation 'org.skyscreamer:jsonassert:1.5.0'
androidTestImplementation('androidx.test.espresso:espresso-core:3.1.0', {
exclude group: 'com.android.support', module: 'support-annotations'
})
}
四、为了支持 Android 8.0 的手机,修改最小SDK版本为 26
--- android_application\build.gradle
+++ android_application\build.gradle
@@ -54,13 +54,13 @@
}
android {
compileSdkVersion 30
defaultConfig {
applicationId "com.siliconlabs.bluetoothmesh"
- minSdkVersion 28
+ minSdkVersion 26
targetSdkVersion 30
versionCode versionMajor * 10000000 + versionMinor * 100000 + versionPatch * 1000 + buildNumber
versionName "${versionMajor}.${versionMinor}.${versionPatch}"
buildConfigField "String", "GIT_SHA", "\"${gitSha}\""
buildConfigField "Integer", "BUILD_NUMBER", "${buildNumber}"
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'