AndroidStudio 代码混淆proguard记录
来源:互联网 发布:acdsee激活软件 编辑:程序博客网 时间:2024/06/10 00:12
AndroidStudio与Eclipse+ADT一样,同样使用proguard进行代码混淆,但是二者在实际使用中仍有区别,本文旨在记录自己在使用中遇到的问题。
一、proguard使用步骤
1. 配置proguard-rule.pro
假设我们的主工程叫MyApplication,那么我们在MyApplication目录下的build.gradle中,编写代码如下:
apply plugin: 'com.android.application'dependencies { compile fileTree(dir: 'libs', include: '*.jar') compile project(':ImageLoader') compile project(':UploadFileManager') compile project(':numberpicker_library') compile project(':PhoneDialer') compile project(':GlowPadView') compile project(':MulThreadDownloader') compile project(':library')}android { compileSdkVersion 15 buildToolsVersion "22.0.1" sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] jniLibs.srcDirs = ['libs'] } instrumentTest.setRoot('tests') debug.setRoot('build-types/debug') release.setRoot('build-types/release') } buildTypes { release { //我们在buildTypes[release]配置中执行混淆 minifyEnabled true //开启混淆 proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-project.txt'//指定proguard的混淆配置文件 } }}
上述代码中,getDefaultProguardFile(‘proguard-android.txt’)是获取SDK包中默认的proguard-android.txt路径,这里指定了两个配置文件,两个文件会在实际执行过程中整合在一起。而后面的‘proguard-project.txt’其实按照官方的说法,应该叫‘proguard-rule.pro’,但是其内容格式是和ADT上的配置是一模一样。
值得一提的是,在AndroidStudio中,‘proguard-project.txt’配置得到了简化,不再需要编写#-libraryjars libs/xxx.jar这样的代码行,工具会自动帮我们引入所有库。
2. Build->Generate Signed APK
点击“Build->Generate Signed APK”菜单项,一步一步填写签名相关信息直到最后一样,选择buildTypes[release](我们上面就是针对release去配置),最终等待构建APK
二、问题记录:
1.IOException Duplicate Zip Entry
这个是因为在编译过程中,主工程与库工程有共同的引用包xxx.jar,移除主工程中重复引用的包,然后执行“Build->Rebuild”,在进行签名打包即可!
0 0
- AndroidStudio 代码混淆proguard记录
- 代码混淆 proguard相关配置过程记录
- AndroidStudio下ProGuard混淆打包
- 记录proguard混淆问题
- android 代码混淆proguard
- java代码混淆 proguard
- ProGuard混淆java代码
- android 代码混淆proguard
- Java Proguard 代码混淆
- Android proguard代码混淆
- Android proguard 混淆代码
- anddroid ProGuard 混淆代码
- android 代码混淆 proguard
- android混淆代码-proguard
- Android-Proguard代码混淆
- Android ProGuard代码混淆
- Proguard代码混淆
- Android proguard 代码混淆
- layout 与layout in splitter区别
- Linux 命令(开放系统端口号/查看端口使用情况)
- UIApplicationMain
- hdu 1316
- hadoop about "Container does not exist."
- AndroidStudio 代码混淆proguard记录
- nodejs co generator 调用另外一个generator
- HDU 5093 -- Battle ships【二分图最大匹配 && 经典建图】
- iOS —— NSRunLoop / NSPart
- oracle 10g的备份和还原
- lytro原始图片重聚焦
- C和C++格式化输入输出
- Linux基本命令一
- 黑马程序员--Java集合框架(2)