搞了一上午....必须记录下来😅😅😅
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