背景
用Jenkins構(gòu)建android自動(dòng)化打包時(shí),以前都是OK的,因?yàn)闃?gòu)建腳本需要抵乓,升級(jí)了classpath 'com.android.tools.build:gradle:3.3.0'偶房,也就是gradle-4.10.1之后就一直報(bào)這個(gè)錯(cuò)誤。
因?yàn)轫?xiàng)目是4個(gè)module組成识补,每個(gè)module都包含一個(gè)AndroidManifest.xml,既然說(shuō)是merger failed辫红,那就是像git一樣合并失敗了凭涂。
解決方法
1、gradlew processDebugManifest --stacktrace
運(yùn)行完之后并沒(méi)有任何可用信息
2贴妻、在android studio里打開(kāi)主module的AndroidManifest.xml切油,點(diǎn)擊左下角Merged Manifest.
這里才算是找到了問(wèn)題所在,我的AndroidManifest.xml:193行有問(wèn)題
Merging Errors: Error:
Attribute meta-data#JPUSH_CHANNEL@value at AndroidManifest.xml:193:13-51
requires a placeholder substitution but no value for <JPUSH_CHANNEL_VLAUE>
is provided. app main manifest (this file), line 192
AndroidManifest.xml里的配置
build.gradle里的配置
這個(gè)錯(cuò)誤非常的幼稚但是又非常的隱晦名惩,因?yàn)樽帜钙磳?xiě)錯(cuò)誤澎胡,xml里拼寫(xiě)的是VLAUE而gradle里拼寫(xiě)的是VALUE,手速太快的情況下是會(huì)犯這個(gè)錯(cuò)誤娩鹉,活活被自己蠢哭攻谁!