这个问题花了一些时间,在这里记录下来,首先先来说说Android的混淆。


混淆配置文件由三部分组成:(此段转载自:http://blog.csdn.net/thm521888/article/details/53905928)

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

最后祝大家端午节快乐~~~~


更多相关文章

  1. Android Native Browser下载存储路径选择
  2. 利用第三方jar包jaudiotagger实现与MediaMetadataRetriever类似
  3. 在Android中实现文件读写
  4. Android里解析AndroidManifest.xml的java文件
  5. android 文件系统结构及其引导
  6. Android中彩信文件的读取
  7. Android 上传图片到服务器(多文件上传)
  8. Android 系统文件简介
  9. Android 保存数据到文件

随机推荐

  1. android 启动时会多显示一个闪现屏
  2. Android内核编译和裁剪
  3. Spinner 使用方法小结
  4. ListView中使用线程实现无限加载
  5. Android发送邮件
  6. 2010.12.28——— android menu用法
  7. android 中的定时任务
  8. Android Studio编译失败:Error: Invoke-cu
  9. TextView 点击拨打电话
  10. Android文章收藏