相关疑难解决方法(0)

在Android上使用OrmLite的Proguard

我应该如何在Android上使用带有ormlite库的proguard?

试试这个:

-keep class com.j256.**
-keepclassmembers class com.j256.**
-keep enum com.j256.**
-keepclassmembers enum com.j256.**
-keep interface com.j256.**
-keepclassmembers interface com.j256.**
Run Code Online (Sandbox Code Playgroud)

但我得到:

03-23 20:23:54.518:E/AndroidRuntime(3032):java.lang.RuntimeException:无法启动活动ComponentInfo {cz.eman.android.cepro/cz.eman.android.cepro.activity.StationsOverviewActivity}:java .lang.IllegalStateException:找不到辅助类class kb的Context参数的构造函数

我也尝试添加这个:

-keepclassmembers class * { public <init>(android.content.?Context); }
Run Code Online (Sandbox Code Playgroud)

但我得到另一个班级成员错误.

obfuscation optimization android proguard ormlite

23
推荐指数
3
解决办法
1万
查看次数

使用proguard在Android上使用ORMLite崩溃

我们在Android应用中使用ORMLite.它工作正常,除非我们尝试在打开proguard的情况下进行构建.

我已经阅读了各种类似的帖子,到目前为止我已经进入了我的proguard-project.txt

-keep class com.j256.** {
   *;
}
Run Code Online (Sandbox Code Playgroud)

如以下讨论中所述http://sourceforge.net/p/proguard/discussion/182456/thread/6765bb69

而且我有

-keepclassmembers class * { 
  public <init>(android.content.Context);
  public <init>(android.app.Activity,int);
}
Run Code Online (Sandbox Code Playgroud)

正如另一个在Android上使用OrmLite的 stackoverflow问题Proguard所建议的那样

但它仍然无法正常工作.如果我添加,我可以让它运行

-dontobfuscate
Run Code Online (Sandbox Code Playgroud)

但这有点遗漏了首先使用proguard的观点.

当我跑步时,我得到一个

IllegalStateException: Could not find OpenHelperClass because none of the generic
parameters of class class <our.package.name>.LaunchActivity extends
OrmLiteSqliteOpenHelper.  You should use getHelper(Context, Class) instead.
Run Code Online (Sandbox Code Playgroud)

哪里

public class LaunchActivity extends OrmLiteBaseActivity<DatabaseHelper>
Run Code Online (Sandbox Code Playgroud)

public class DatabaseHelper extends OrmLiteSqliteOpenHelper
Run Code Online (Sandbox Code Playgroud)

我已经添加

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

-keep public class <our.package.name>.LaunchActivity
Run Code Online (Sandbox Code Playgroud)

但仍然没有运气.这个问题似乎之前已被问过(OrmLite和proguard混淆的问题),但我希望 …

obfuscation android proguard ormlite

6
推荐指数
1
解决办法
2559
查看次数

标签 统计

android ×2

obfuscation ×2

ormlite ×2

proguard ×2

optimization ×1