Error:Execution failed for task ':app:transformClassesAndResourcesWithProguardForOfficialRelease'

  1. 混淆打包报错信息:
    Warning:Exception while processing task java.io.IOException: proguard.ParseException: Expecting separator ';' before '(' in line 119 of file '/Users/wuguangxin/works/works/RedPacketRob/app/build/intermediates/proguard-rules/official/release/aapt_rules.txt'

    Error:Execution failed for task ':app:transformClassesAndResourcesWithProguardForOfficialRelease'.
    > Job failed, see logs for details


  2. 事情是这样的:
    在一个小项目中遇到混淆打包报错的问题,报错如下,做下记录,给遇到相同问题又找不到原因的童做个参考


  3. 解决办法:
    最开始以后混淆文件写错,gradle写错,可各种改,百度谷歌一大把都没找到这个问题,,几天了都没解决,周末早上起来,再次寻找问题,果然脑子好使了,这才发现,一直忽略了错误提示 in line 119 of file '/Users/xxx/xxx/app/build/intermediates/proguard-rules/official/release/aapt_rules.txt'

    按提示找到 aapt_rules.txt 中第119行


    看到这个方法名 onTest(),猛然想起以前为了测试,直接在TextView的xml中配置了这个方法,
    后来测完了,把Activity中的方法删了,但忘记删除xml中的这个onClick事件了,所以混淆打包时找不到这个方法,就报错了。
    Error:Execution failed for task ':app:transformClassesAndResourcesWithProguardForOfficialRelease'_第1张图片

    删除xml中的onClick事件后,再次混淆打包,OK了。


  4. 后记:
    以前写测试事件时,都是findViewById后在设置事件,这次也是唯一一次这么干的,所以,这么写,就要记住要删就两个一起删。

你可能感兴趣的:(混淆打包报错)