利用android proguard混淆代码
来源:互联网 发布:攻击网吧网络要坐牢 编辑:程序博客网 时间:2024/06/06 19:31
网上虽然有很多相关博客,不过貌似都不是最新版的。。于是百度+谷歌+github上的开源demo,终于成功的配置了android proguard。
最新版的android sdk的默认配置已经可以满足我们的大多数要求了,我们只需要按照sdk的提示就可以配置大部分的必须配置,然后再加上一些基本的
自定义配置就行了。
第一步,取消project.properties里面关于proguard的注释。这一步可以开启proguard。根据网上的博客,
最好加上sdk的路径。
1
2
sdk.dir=D:/Java/IDE/adt-bundle-windows-x86_64-
20130219
/sdk
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
这样一来默认的配置文件也会被包括进来。
第二步,保存被AndroidManifest.xml调用或者webview的类。这是因为proguard会移除没有被调用的代码。
1
2
3
4
5
6
7
8
9
10
-keepclassmembers
class
fqcn.of.javascript.
interface
.
for
.webview {
public
*;
}
-keep
public
class
*
extends
android.app.Activity
-keep
public
class
*
extends
android.app.Application
-keep
public
class
*
extends
android.app.Service
-keep
public
class
*
extends
android.content.BroadcastReceiver
-keep
public
class
*
extends
android.content.ContentProvider
-keep
public
class
*
extends
android.app.backup.BackupAgentHelper
-keep
public
class
*
extends
android.preference.Preference
第三步,第三方类库。
1
2
3
4
5
#第三方类库
-keep
class
android.** {*;}
-keep
class
com.jeremyfeinstein.slidingmenu.lib.** {*;}
-keep
class
com.actionbarsherlock.** {*;}
-keep
class
com.lidroid.xutils.** {*;}
第四步,其实这一步可以代替上面所有的keep语句,彻底将误删的概率降到最低。
那就是保留所有具有公有访问权限的类和其公共成员。
1
2
3
-keepclasseswithmembers
class
*{
public
*;
}
第五步,在github上的开源proguarddemo上学来的,删除Log代码
1
2
3
4
5
6
7
-assumenosideeffects
class
android.util.Log {
public
static
*** e(...);
public
static
*** w(...);
public
static
*** wtf(...);
public
static
*** d(...);
public
static
*** v(...);
}
然后跑了一下,成功混淆并且可以运行。。。
1 0
- 利用android proguard混淆代码
- Android利用ProGuard混淆代码
- 利用android proguard混淆代码
- Android利用ProGuard进行代码混淆
- android 代码混淆proguard
- android 代码混淆proguard
- Android proguard代码混淆
- Android proguard 混淆代码
- android 代码混淆 proguard
- android混淆代码-proguard
- Android-Proguard代码混淆
- Android ProGuard代码混淆
- Android proguard 代码混淆
- Android ProGuard代码混淆
- Android proguard代码混淆
- Android proguard代码混淆
- 【Android】【代码混淆】ProGuard
- 利用ProGuard进行代码混淆
- 一些常用的工具浅谈
- 排序算法
- UVa 120 煎饼堆
- vuforia结合unity3d开发AR的androidAPP总结(二)
- C#中一些易混淆概念总结
- 利用android proguard混淆代码
- 使用Project进行项目管理 - 项目管理系列文章
- C++用new和不用new创建类对象区别
- 学习java02
- Fedora关闭/禁用SELinux
- 为你加油!
- hdu 变形课(简单搜索)
- Fedora 17及以前的版本关闭防火墙
- 部分HDU分类及解答