
問題1要求要使debug release兩種模式簽名一致也就是說從蒲公英平臺下載的apkrelease模式直接可以覆蓋android studio調(diào)試時安裝的應用程序debug模式或者逆向安裝 。解決可參考下面在build.gradle(Module:模塊名稱)中設(shè)置android { defaultConfig {...........} //--------------------------------------------------------------signingConfigs{ release { storeFile file(C:/apk_key/appkey2608.jks) storePassword 123456 keyAlias key0 //keyPassword System.getenv(123456) keyPassword 123456 } }buildTypes {debug{ // 關(guān)鍵讓 debug 變體使用 release 的簽名配置 signingConfig signingConfigs.release }release{ // 讓 Release 構(gòu)建使用這個簽名配置 signingConfig signingConfigs.release // 建議開啟代碼混淆和資源壓縮 minifyEnabled false shrinkResources false proguardFiles getDefaultProguardFile(proguard-android-optimize.txt), proguard-rules.pro } } } }注意點2現(xiàn)象在android studio調(diào)試時安裝的應用程序debug模式可以正常工作但在apk安裝上的部分功能失效 出錯。解決同樣在build.gradle(Module:模塊名稱)中設(shè)置buildTypes { debug{ // 關(guān)鍵讓 debug 變體使用 release 的簽名配置 signingConfig signingConfigs.release } release { // 讓 Release 構(gòu)建使用這個簽名配置 signingConfig signingConfigs.release// 建議開啟代碼混淆和資源壓縮 minifyEnabled false // 開啟混淆減小包體積、增加反編譯難度 shrinkResources false // 移除無用資源proguardFiles getDefaultProguardFile(proguard-android-optimize.txt), proguard-rules.pro } }原因時生成apk時部分程序被優(yōu)化刪除了關(guān)閉這兩項生成的apk占空間稍大但功能正常。需要時可以在類前加上Keep注解Keep是 Android 官方提供的一個注解用來告訴混淆器R8 / ProGuard這個類、方法、字段不要被混淆或刪除。