最近项目终于要上线了,于是准备对App进行混淆和加固, 但项目引入的开源库有点多,混淆时报了一堆错误,在参考了很多资料后,在前人基础上整理了一个常用开源库proguard rules的列表,以后就不用再次折腾了项目git地址: https://github.com/offbye/Android-ProGuardRules参考了 http://mjiayou.com/2015/06/24/third-proguard-rules/版权声明:本文为博主原创文章,转载请保留出处http://blog.csdn.net/offbye原文:http://blog.c...
为了防止自己的劳动成果被别人窃取,混淆代码能有效防止被反编译,下面来总结以下混淆代码的步骤:
1. 大家也许都注意到新建一个工程会看到项目下边有这样proguard-project.txt一个文件,这个对混淆代码很重要,如果你不小心删掉了,没关系,从其他地方拷贝一个过来
2. 最重要的就是在proguard-project.txt添加混淆的申明了:
a. 把所有你的jar包都申明进来,例如:
-libraryjars libs/apns_1.0.6.jar
-libraryjars libs/armeab...
在Android studio 进行代码混淆配置。proguard 配置-keepclasseswithmembers 指定的类和类成员被保留,假如指定的类成员存在的话。-dontwarn 缺省proguard 会检查每一个引用是否正确,但是第三方库里面往往有些不会用到的类,没有正确引用。如果不配置的话,系统就会报错。-keep 指定的类和类成员被保留作为 入口 。-keepclassmembers 指定的类成员被保留。proguard 问题和风险代码混淆后虽然有混淆优化的好处,但是它往往也会带来...
1.设置混淆在工程下找到project.properties文件在文件中加入proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt这个是系统的也可以用自己的混淆文件(这样就可以配置一些自己的东西),去sdk.dir}/tools/proguard/ 下复制proguard-android.txt文件到本地工程中然后设置成proguard.config=proguard-android.txtproject.properties文件:[java] view plaincopy#proguard.config=${sdk.dir}/tools/...
我在博客上发表一些我的Android学习心得,希望对大家能有帮助。
这一篇我们讲述一下最新的ADT环境下如何进行Android混淆在新版本的ADT创建项目时,混码的文件不再是proguard.cfg,
而是project.properties和proguard-project.txt。
我们把之前配置都配置好了,proguard已经在包含在sdk中了。
环境配置参考 Android学习心得(1) --- MAC下Android环境的搭建新建一个项目的时候,会自动生成project.properties和proguard-pro...
开始先说打包签名: 1.打开你的AS选中你的project->bulid,650) this.width=650;" src="/upload/getfiles/default/2022/11/11/20221111061246775.jpg" title="~~NSTJ(}8ZNAE9Z{}{T4B7W.png" /> 2.跟eclipse一样搞一个key,自己填写一下改写的什么注册的信息什么的,然后就会获得key和password,此处省略一万字--!然后就是填写了, 650) this.width=650;" src="/upload/getfiles/default/2022/11/11/20221111061247200.jpg...
若项目中没有proguard.cfg文件,手动添加新建文本,输入以下代码-dontwarn //若项目中导入了第三方jar包,需要添加该行
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep...
最近做了2个项目,全部要混淆,刚接触,自己在网上找了还多资料,感觉各有千秋,自己总结了一下,第一次发帖,不喜勿喷。求各种指导!!!android应用程序的混淆打包规范1.在工程文件<SPAN style=‘font-family: "Times New Roman";‘>project.properties中加入下
"Times New Roman";‘>proguard.config=proguard.cfg , 如下所示:
IntelliJ IDEA 提供了非常强大的 Android 开发支持,就连 Google 官方推荐的 Android Studio 其实也是 IntelliJ IDEA 的一个 Android 开发专用版。因为 Android 程序发布时采用 APK 文件封装格式,其内部仍然是虚拟机字节码,是可以通过诸如 dex2jar、jd 等工具进行反编译的,所以进行产品发布前都要经过字节码混淆,以最大限度地保护软件知识产权。而 Google 官方推荐的 ProGuard 混淆器的混淆效果又不尽如人意,因此各类专业的混...
https://blog.csdn.net/duanmulirui/article/details/54949147 https://blog.csdn.net/beiyouzidonghua/article/details/79653519原文:https://www.cnblogs.com/czhao4/p/10794204.html
使用intellij idea 开发android ,关于 gradle 和 android gradle plugin 容易混淆地方,做下记录: 一. build.gradle 文件有两个地方存在,一个是整个项目中的,一个是APP module 中的,这个好理解,就是全局设置和局部设置的关系 二. 项目中的 build.gradle 文件中,有一句 classpath ‘com.android.tools.build:gradle:2.1.3‘ 这个 这个2.1.3 的版本号是android gradle plugin的版本号。这个版本号会...
什么是代码混淆代码混淆(Obfuscated
code)亦称花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为。代码混淆可以用于程序源代码,也可以用于程序编译而成的中间代码。执行代码混淆的程序被称作代码混淆器。目前已经存在许多种功能各异的代码混淆器。 将代码中的各种元素,如变量,函数,类的名字改写成无意义的名字。比如改写成单个字母,或是简短的无意义字母组合,甚至改写成“__”这样的符号...
本篇文章给大家带来的内容是关于安全编程之Android APK打包代码混淆(代码实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 第一步:在项目工程目录下的proguard-rules.pro文件中配置自定义的混淆规则#注意:
#1.引用外部的jar包 如果不是自己写的最好不混淆它们,因为外部jar包有可能已经混淆过
#2.不要混淆XML布局中使用的自定义控件类,混淆后加载布局会报找不到该控件错误
#3.不要混淆Manifests中配...
我为我的项目构建了一个很好的Javadoc文档,这是一个面向开发人员的JAR文件.
但是在我运行proguard以便obfuscat我的代码后,所有的Javadoc文档都消失了.
我想在jar中保留javadoc我所有的公共方法.有人知道如何在混淆后保持Javadoc可见吗?
谢谢!解决方法:Javadoc是从源文件中提取的.无法从类文件创建javadoc,既不干净也不模糊. ProGuard对通过编译源文件创建的类文件进行操作,并从中生成模糊的类文件.这与javadoc创建完全无关.
Java...
一.组件化的静态变量:
R.java的生成:
各个module会生成aar文件,并且被引用到Application module中,最终合并为apk文件。当各个次级module在Application module中被解压后,在编译时资源R.java会被重新解压到build/generated/source/r/debug(release)/包名/R.java中。
当每个组件中的aar文件汇总到App module中时,也就是编译的初期解析资源阶段,其每个module的R.java释放的同时,会检测到全部的R.java文件,然后通过合并,最后...