您的位置:首页 > 其它

混淆遇到无法找到文件aapt_rules.txt

2017-09-16 15:21 726 查看
1.默认配置
   getDefaultProguardFile('proguard-android.txt')  或者 getDefaultProguardFile('proguard-android-optimize.txt')
   该文件路径:
a.新版本:Starting with version 2.2 of the Android plugin for Gradle
路径:
/home/mth/code/github_demo/A/build/intermediates/proguard-files/proguard-android.txt-2.2.3
b.旧版本
路径:
/home/mth/Android/Sdk/tools/proguard/proguard-android.txt


2.自定义混淆文件

proguard-rules.pro 这个简单


3.特别注意(这个默认文件很坑)

路径:
./app/build/intermediates/proguard-rules/release/aapt_rules.txt
据说该文件是在初始化ProcessAndroidResources时候生成的

至于具体的文件混淆规则这里不说了,网上一堆,接下来就是混淆中遇到的一个问题:

Android studio混淆打包的时候一直失败,提示Warning:Exception
while processing task Java.io.FileNotFoundException: D:\...\app\build\intermediates\proguard-rules\release\aapt_rules.txt
(系统找不到指定的路径。)

即有一个混淆的文件找不到了,但是这个文件是系统生成的,那怎么办,我们只需要在菜单栏选择build
--> Clean Project ,然后在build --> Make Project即可,然后就能在这个路径下找到这个aapt_rules.txt文件了,再次build apk就不会报错了哦(注意:混淆的是release)

最后科普一下build菜单下的这些功能的区别:

1.Make Project:编译Project下所有Module,一般是自上次编译后Project下有更新的文件,不生成apk。
2.Make Selected Modules:编译指定的Module,一般是自上次编译后Module下有更新的文件,不生成apk。
3.Clean Project:删除之前编译后的编译文件,并重新编译整个Project,比较花费时间,不生成apk。
4.Rebuild Project:先执行Clean操作,删除之前编译的编译文件和可执行文件,然后重新编译新的编译文件,不生成apk,这里效果其实跟Clean Project是一致的,这个不知道Google搞什么鬼~~
5.Build APK:前面4个选项都是编译,没有生成apk文件,如果想生成apk,需要点击Build APK。
6.Generate Signed APK:生成有签名的apk。
相关的混淆解析可以参考该文章:
http://www.jianshu.com/p/0202845db617
http://blog.csdn.net/lovexjyong/article/details/24652085
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐