搞了一上午....必須記錄下來😅😅😅
debug 打包沒問題 ,release 打包一直報錯 BuildConfig 找不到符號,最開始以為是混淆問題 , 再仔細檢查混淆文件沒問題后. 嘗試把出問題的三方庫做成本地的module發現也不能解決問題;
再后來把子module中的 release{ 移除混淆文件} ,發現還是沒用;
最后, buildVariant 修改變體都是 release版本,如圖:
然后再執行 sync + rebuild ,發現問題出現在 app的build.gradle中:
buildTypes {
debug {
//出現 字符串 轉義問題,加上轉義字符 //buildConfigField('String', 'ROOT_DIR', 'APPE') buildConfigField('String', 'ROOT_DIR', "\"APPE\"")
buildConfigField('boolean', 'BUGLY', 'false')
minifyEnabled false
zipAlignEnabled false
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.debug
}
再次打包release沒出現問題.
啟示:
1.release打包,用的是當前 app + 子module 的release變體,所以要統一使用一個版本后再構建;
2.混淆問題提示在 Application 層, 那么通常出問題的地方在 build.gradle