首页 > App > 使用proguard混淆Android应用程序

使用proguard混淆Android应用程序

2013-06-13 11:51 星期四    浏览: 2,500    绿 发表评论 阅读评论

Eclipse中使用向导创建Android工程时,除了AndroidManifest.xml,还会自动生成文件project.properties和proguard-project.txt。

前者project.properties中指定了工程编译时的SDK版本,以及依赖的库:

# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt

# Project target.
target=android-3
android.library.reference.1=../httprequest

上面若有多个库,则为:

android.library.reference.2=../your_jar_lib

若为jar库, 则有下面的行

android.library=true

而对于proguard,默认是未打开,被注释掉,可以将注释去除,打开proguard,进行混淆保护:

proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt

它指定了proguard的配置文件,Android SDK已经提供了默认配置文件${sdk.dir}/tools/proguard/proguard-android.txt,因为dalvik有自己的优化,所以通常不选用${sdk.dir}/tools/proguard/proguard-android-optimize.txt这个配置文件。

通过在SDK中的配置文件,可以为所有的Android工程提供默认配置,若一个工程需要单独的配置,这就是工程根目录下proguard-project.txt文件的用处:

proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt

如其文件注释所说:

# Add any project specific keep options here:

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}

然后就可以在工程的右键->Android Tool->Export  signed application package导出该程序了。

本文链接地址: http://blog.redwolf-soft.com/?p=2336

原创文章,版权©红狼博客所有, 转载随意,但请注明出处。

    分享到:

相关文章:

  • 无相关文章
分类: App 标签: ,
  1. 本文目前尚无任何评论.
订阅评论
  欢迎参与讨论,请在这里发表您的看法、交流您的观点。