Android 代码混淆问题

多格AI零代码 多格AI零代码 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
项目用到了几个第三方Jar包,需要混淆时不混淆第三方Jar包

我的proguard.cfg的内容如下:

-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
#-ignorewarnings
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*

-keepattributes *Annotation*
-keepattributes Signature

-libraryjars libs/android-support-v4.jar
-libraryjars libs/commons-net-3.2.jar
-libraryjars libs/open_sdk.jar
-libraryjars libs/ormlite-android-4.42.jar
-libraryjars libs/umeng_sdk.jar
-libraryjars libs/ormlite-core-4.42.jar

-keep public class * extends android.app.Fragment
-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 * extends android.support.v4.**

#-keep public class * extends org.apache.commons.net.**

#-keep public class * extends com.tencent.**

#-keep public class * extends com.umeng.**
#-keep public class * extends com.umeng.analytics.**
#-keep public class * extends com.umeng.common.**
#-keep public class * extends com.umeng.newxp.**

#-keep public class * extends com.j256.ormlite.**
#-keep public class * extends com.j256.ormlite.android.**
#-keep public class * extends com.j256.ormlite.field.**
#-keep public class * extends com.j256.ormlite.stmt.**

-keep public class * extends com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper
-keep public class * extends com.j256.ormlite.android.apptools.OpenHelperManager


-keep class com.android.vending.licensing.ILicensingService
-keep class android.support.v4.** { *; }
-keep class org.apache.commons.net.** { *; }
-keep class com.tencent.** { *; }

-keep class com.umeng.** { *; }
-keep class com.umeng.analytics.** { *; }
-keep class com.umeng.common.** { *; }
-keep class com.umeng.newxp.** { *; }

-keep class com.j256.ormlite.** { *; }
-keep class com.j256.ormlite.android.** { *; }
-keep class com.j256.ormlite.field.** { *; }
-keep class com.j256.ormlite.stmt.** { *; }

-dontwarn android.support.v4.**
-dontwarn org.apache.commons.net.**
-dontwarn com.tencent.**

-dontwarn com.umeng.**
-dontwarn com.umeng.analytics.**
-dontwarn com.umeng.common.**
-dontwarn com.umeng.newxp.**

-dontwarn com.j256.ormlite.**
-dontwarn com.j256.ormlite.android.**
-dontwarn com.j256.ormlite.field.**
-dontwarn com.j256.ormlite.stmt.**

-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 *;
}



运行后出现如下Log.txt错误信息,我尝试过调整,但是最终还是失败了!

04-18 18:32:16.619: E/AndroidRuntime(8902): FATAL EXCEPTION: main
04-18 18:32:16.619: E/AndroidRuntime(8902): java.lang.RuntimeException: Unable to create application com.ishow.funnymap.FunnyApplication: java.lang.IllegalStateException: Could not find constructor that hast just a (Context) argument for helper class class com.ishow.funnymap.database.DatabaseHelper
04-18 18:32:16.619: E/AndroidRuntime(8902): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4118)
04-18 18:32:16.619: E/AndroidRuntime(8902): at android.app.ActivityThread.access$1300(ActivityThread.java:134)
04-18 18:32:16.619: E/AndroidRuntime(8902): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1285)
04-18 18:32:16.619: E/AndroidRuntime(8902): at android.os.Handler.dispatchMessage(Handler.java:99)
04-18 18:32:16.619: E/AndroidRuntime(8902): at android.os.Looper.loop(Looper.java:154)
04-18 18:32:16.619: E/AndroidRuntime(8902): at android.app.ActivityThread.main(ActivityThread.java:4624)
04-18 18:32:16.619: E/AndroidRuntime(8902): at java.lang.reflect.Method.invokeNative(Native Method)
04-18 18:32:16.619: E/AndroidRuntime(8902): at java.lang.reflect.Method.invoke(Method.java:511)
04-18 18:32:16.619: E/AndroidRuntime(8902): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:809)
04-18 18:32:16.619: E/AndroidRuntime(8902): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576)
04-18 18:32:16.619: E/AndroidRuntime(8902): at dalvik.system.NativeStart.main(Native Method)
04-18 18:32:16.619: E/AndroidRuntime(8902): Caused by: java.lang.IllegalStateException: Could not find constructor that hast just a (Context) argument for helper class class com.ishow.funnymap.database.DatabaseHelper
04-18 18:32:16.619: E/AndroidRuntime(8902): at com.j256.ormlite.android.apptools.OpenHelperManager.constructHelper(Unknown Source)
04-18 18:32:16.619: E/AndroidRuntime(8902): at com.j256.ormlite.android.apptools.OpenHelperManager.loadHelper(Unknown Source)
04-18 18:32:16.619: E/AndroidRuntime(8902): at com.j256.ormlite.android.apptools.OpenHelperManager.getHelper(Unknown Source)
04-18 18:32:16.619: E/AndroidRuntime(8902): at com.ishow.funnymap.database.DatabaseHelper.a(Unknown Source)
04-18 18:32:16.619: E/AndroidRuntime(8902): at com.ishow.funnymap.FunnyApplication.onCreate(Unknown Source)
04-18 18:32:16.619: E/AndroidRuntime(8902): at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:969)
04-18 18:32:16.619: E/AndroidRuntime(8902): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4115)
04-18 18:32:16.619: E/AndroidRuntime(8902): ... 10 more
04-18 18:32:16.619: E/AndroidRuntime(8902): Caused by: java.lang.NoSuchMethodException: <init> [class android.content.Context]
04-18 18:32:16.619: E/AndroidRuntime(8902): at java.lang.Class.getConstructorOrMethod(Class.java:460)
04-18 18:32:16.619: E/AndroidRuntime(8902): at java.lang.Class.getConstructor(Class.java:431)
04-18 18:32:16.619: E/AndroidRuntime(8902): ... 17 more


非常感谢,如果你知道哪里有问题,请回复我 或者 Email我: 469985793@qq.com
...全文
评论 10
收藏 已收藏
分享
返回顶部
多格AI零代码
Android 80,490 成员 91,375 内容