使用proguard在Android上使用ORMLite崩溃

使用proguard在Android上使用ORMLite崩溃,第1张

概述我们在 Android应用中使用ORMLite.它工作正常,除非我们尝试在打开proguard的情况下进行构建. 我已经阅读了各种类似的帖子,到目前为止我已经进入了我的proguard-project.txt -keep class com.j256.** { *;} 如下面的讨论http://sourceforge.net/p/proguard/discussion/182456/thr 我们在 Android应用中使用Ormlite.它工作正常,除非我们尝试在打开proguard的情况下进行构建.

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

-keep class com.j256.** {   *;}

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

而且我有

-keepclassmembers class * {   public <init>(androID.content.Context);  public <init>(androID.app.Activity,int);}

正如另一个stackoverflow问题Proguard with OrmLite on Android中所建议的那样

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

-dontobfuscate

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

当我跑步时,我得到一个

IllegalStateException: Could not find OpenHelperClass because none of the genericparameters of class class <our.package.name>.LaunchActivity extendsOrmlitesqliteOpenHelper.  You should use getHelper(Context,Class) instead.

哪里

public class LaunchActivity extends OrmliteBaseActivity<DatabaseHelper>

public class DatabaseHelper extends OrmlitesqliteOpenHelper

我已经添加

-keep public class * extends com.j256.ormlite.androID.apptools.OrmlitesqliteOpenHelper-keep public class <our.package.name>.LaunchActivity

但仍然没有运气.这个问题似乎在之前(Problems with OrmLite and proguard obfuscation)被问过,但我希望有人知道解决方案是什么!

解决方法 错误消息提到了泛型参数,因此Ormlite可能使用反射来检索泛型类型信息.此信息存储在ProGuard默认删除的可选签名属性(Java擦除泛型类型)中.你可以保留它们
-keepattributes Signature
总结

以上是内存溢出为你收集整理的使用proguard在Android上使用ORMLite崩溃全部内容,希望文章能够帮你解决使用proguard在Android上使用ORMLite崩溃所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1130294.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存