android studio...混淆打包全揭秘
前言,当前android studio使用的版本较新,低版本的如果有差异,或者问题,欢迎拍砖!
1、修改配置文件

找到配置文件,build.gradle,修改如下。
signingConfigs {
release {
// 下面各值的意思将在后续进行讲解
storeFile file('release.keystore')
storePassword "123456"
keyAlias "androiddebugkey"
keyPassword "123456"
}
debug {
storeFile file('release.keystore')
storePassword "123456"
keyAlias "androiddebugkey"
keyPassword "123456"
}
}
buildTypes {
release {
minifyEnabled true // 设置代码进行混淆
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release // 签名配置
}
}
以前版本中。
a> 我们使用的是runProguard不过现在是使用minifyEnabled了。设置为true就是进行混淆。
b> proguradFiles 指定配置混淆项目的文件,可以看到使用的是progurad-rules.pro。这是我们后续配置排除混淆和运行环境会用到的。
2、创建KeyStore文件

进入此文件下,我们可以看到我们已经有的*.keysotre文件。

我这里已经有了一个debug.keystore文件了,不过我暂时用不着,也不记得密码啥子的了。
所以我们重新生成一个,也可以删除原有内容,然后重新生成一个文件。

当然,我们要先进入.android文件夹下面才能操作。运行cmd => 输入:cd .android =>再输入我们的命令
keytool -genkey -v -keystore release.keystore -alias androiddebugkey -keyalg RSA -validity 10000
完成后续的生成这样一个release.keystore文件我们就生成了。生成的文件,我们需要拷贝到和上面的配置(build.gradle),同目录下即可。
好了,下面就再次运行程序就已经加密了。不过我们也要配置后续的环境。
3、生成重新生成代码,反编译后可以查看文件已经加密了
progurad-rules.pro
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
添加如下内容。这样完整的混淆后的文件我们就可以使用了。
注:如果你使用了第三方的 jar.又不需要混淆,或者已经混淆为了避免出问题。你可以在progurad-rules.pro文件中加上下面内容。
-dontwarn net.youmi.android.**
-keep class net.youmi.android.** {
*;
}
这里使用了有米举例。。。
4、参考网页:
http://blog.csdn.net/zhaoxiao2008/article/details/7443020 debug.keystore文件不存在解决办法
http://blog.csdn.net/hudashi/article/details/9016805 android混淆打包
http://www.bkjia.com/Androidjc/924623.html 快速掌握 Android Studio 中 Gradle 的使用方法
http://www.cnblogs.com/youxilua/archive/2013/05/20/3087935.html 用Gradle 构建你的android程序
欢迎拍砖哈!
android studio...混淆打包全揭秘的更多相关文章
- Android项目实战(二十五):Android studio 混淆+打包+验证是否成功
前言: 单挑Android项目,最近即时通讯用到环信,集成sdk的时候 官方有一句 在 ProGuard 文件中加入以下 keep. -keep class com.hyphenate.** {*;} ...
- Android studio 混淆打包问题
参考 : Android Studio代码混淆设置以及上传mapping文件 AndroidStudio 混淆打包 在app 目录下 proguard-rules.pro中加入 通用 混淆 #指定代 ...
- Android studio 混淆打包安装后报错NullPointerException int java.util.List.size()
菜鸟的我,尝试混淆打包app...打包之前没有什么问题,混淆打包之后遇到各种问题.首先,感谢原博主的分享.解决了我的问题.谢谢. 原文地址:http://blog.csdn.net/tou_star/ ...
- Android Studio混淆打包
1.apk混淆打包 如果要对apk进行混淆,你要先告知gradle这个app需要混淆,并告知其混淆规则. 告知gradle需要混淆的代码 在Project/app/build.gradle中把mini ...
- Android studio 混淆打包
AndroidStudio中的项目可以用compile的形式引入github上的开源项目,可以引用module,而不一定都要用libs文件夹中添加jar包的形式. 在最终realease打包时,混淆的 ...
- Android studio混淆
看了一篇关于Android studio混淆的文章http://blog.csdn.net/qq_23547831/article/details/51581491,感觉有必要总结一个简单的混淆版本设 ...
- Android studio 使用心得(四)—android studio 多渠道打包(二)
Android studio 使用心得(四)—android studio 多渠道打包 这篇文章讲了一种打包方式.是直接在android studio 里面可视化操作,结合配置文件.我个人觉得严格上来 ...
- Android studio 自定义打包apk名
Android Studio打包应用默认生成的apk名称是:app-release.apk .如果我们要让生成的apk名跟我们版本包名有联系的话,那我们就要自定义生成的apk名了 需要在build.g ...
- [Android Studio] Android studio 多渠道打包(超简洁版)
[Android Studio] Android studio 多渠道打包(超简洁版) 转载:http://xuyazhou.com/archives/461 http://relex.me/usin ...
随机推荐
- 关于Asp.Net MVC 中 UpdateModel 的未能更新***模型的 解决方案!
解决方案参考: http://blog.csdn.net/hudaijun/article/details/7293129 想法: 其实,不用UpdateModel,虽然笨些,但不会出什么古怪问题.当 ...
- Servlet3.0学习总结——基于Servlet3.0的文件上传
Servlet3.0学习总结(三)——基于Servlet3.0的文件上传 在Servlet2.5中,我们要实现文件上传功能时,一般都需要借助第三方开源组件,例如Apache的commons-fileu ...
- cmd实用命令
1.netstat 查看电脑端口状况 实际应用举例:查看某软件坚监听的电脑端口. 在任务管理器中选择列...,打开PID的显示.在这里查看某个应用程序的线程ID是多少.例如QQ:4904. 运行,cm ...
- Windows 8.1 Enterprise 下 安装 Eclipse 官方中文包后无法输入任何内容
最新文章:Virson's Blog 官方下载的Eclipse解压后运行,然后通过repository方式安装了中文语言包,按提示后重启,重启后不能进行任何输入,解决该问题的方法就是将eclipse. ...
- 6x12了快2个月,累的不行……
6x12了快2个月,累的不行…… 咱就是传说中的会iOS, Android, .NET,JAVA, JAVASCRIPT,SQL SERVER的 Full stack developer (全端工程师 ...
- HANA Studio打开系统显示Secure storage is locked
之前一直用着好好的,今天打开HANA Studio突然发现一个系统都不在了: 提示:‘Secure storage is locked’ 我点旁边的Unlocked没有任何反应,右键也没有功能了.如下 ...
- [转]Visual Studio技巧之打造拥有自己标识的代码模板
可能经过很多博客的介绍,大家都知道代码段的使用,使用代码段可以很方便地生成一些常用的代码格式,确实对我们开发很方便.在团队开发中或者在某些情况下我们经常可能还会希望使用Visual Studio生成的 ...
- 事务复制中的snapshot
Snapshot agent读取article的信息,将article的内容和脚本放置到snapshot文件夹中: 接下来distribution agent会读取这些快照文件,传输到订阅,完 ...
- 程序设置横屏后,锁屏时会被销毁一遍,解锁时又重新加载onCreat的问题解决
今天在写一个应用的时候,因为需要设置成横屏模式,所以在Manifest里面的Activity里面加了两个参数设置: android:screenOrientation="landscape& ...
- 初探KMP算法
数据结构上老师也没讲这个,平常ACM比赛时我也没怎么理解,只是背会了代码--前天在博客园上看见了一篇介绍KMP的,不经意间就勾起了我的回忆,写下来吧,记得更牢. 一.理论准备 ...