还能访问proguard apk吗?

时间:2013-07-13 07:14:09

标签: java android proguard

这次我试图保护我的代码,因为我已经复制了一些我的应用程序!但我似乎不知道正确的方法来做一个proguard,iv甚至试过一个在线网站来加密它,但它似乎没有用,我把它添加到project.properties

  

要启用ProGuard缩小和混淆代码,请取消注释   (可用属性:sdk.dir,user.home):   proguard.config = $ {sdk.dir} /tools/proguard/proguard-android.txt:proguard-project.txt

我仍然可以使用dex2jar访问我的java文件!有谁知道保护java安卓代码的方法?

1 个答案:

答案 0 :(得分:0)

当您执行发布版本(Eclipse中的导出选项)时,代码将被混淆。

您还可以将proguard.cfg中的proguard配置保存在与project.properties相同的目录中。这样您就可以使用某些特定于项目的设置来修改文件。

  • project.properties
# Project target.
target=android-15

#Proguard config
proguard.config=proguard.cfg
  • proguard.cfg(与project.properties在同一目录中)
-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 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
-keep public class com.android.vending.licensing.ILicensingService

-keepclasseswithmembernames class * {
    native <methods>;
}

-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet);
}

-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet, int);
}

-keepclassmembers class * extends android.app.Activity {
   public void *(android.view.View);
}

-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

-keep class * implements android.os.Parcelable {
  public static final android.os.Parcelable$Creator *;
}

-assumenosideeffects class android.util.Log {
    public static *** d(...);
    public static *** v(...);
}