这次我试图保护我的代码,因为我已经复制了一些我的应用程序!但我似乎不知道正确的方法来做一个proguard,iv甚至试过一个在线网站来加密它,但它似乎没有用,我把它添加到project.properties
要启用ProGuard缩小和混淆代码,请取消注释 (可用属性:sdk.dir,user.home): proguard.config = $ {sdk.dir} /tools/proguard/proguard-android.txt:proguard-project.txt
我仍然可以使用dex2jar访问我的java文件!有谁知道保护java安卓代码的方法?
答案 0 :(得分:0)
当您执行发布版本(Eclipse中的导出选项)时,代码将被混淆。
您还可以将proguard.cfg中的proguard配置保存在与project.properties相同的目录中。这样您就可以使用某些特定于项目的设置来修改文件。
# Project target. target=android-15 #Proguard config proguard.config=proguard.cfg
-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(...); }