簡體   English   中英

DaoConfig使用Android 5.0在Samsung Devices上使用greendao初始化失敗

[英]DaoConfig init failure with greendao on Samsung Devices with Android 5.0

Crashlytics報道了greendao的大量崩潰事件:

> Caused by de.greenrobot.dao.DaoException: Could not init DAOConfig
>        at de.greenrobot.dao.internal.DaoConfig.<init>(DaoConfig.java:94)
>        at de.greenrobot.dao.AbstractDaoMaster.registerDaoClass(AbstractDaoMaster.java:44)
> ... Caused by java.lang.NoSuchFieldException: TABLENAME
>        at java.lang.Class.getField(Class.java:1104)
>        at de.greenrobot.dao.internal.DaoConfig.<init>(DaoConfig.java:56)
>        at de.greenrobot.dao.AbstractDaoMaster.registerDaoClass(AbstractDaoMaster.java:44)

似乎只有三星設備(SM-G900V,SM-900A,SM-900P,SM-870A,SCH-545等)全部運行Android 5.0 Lollipop。

根據我的研究,他們的設備上似乎有一個三星類加載器實現問題導致了這個問題。 人們在此問題中提到了可能的加載程序問題: https//code.google.com/p/gmaps-api-issues/issues/detail?id = 8314

人們建議在Proguard中添加keep規則,但我們在應用程序中根本沒有使用Proguard。 我們確實啟用了多索引。

有人有修復或解決方法的建議嗎?

我遇到了同樣的問題。 我知道這是一個問題。

如果您使用3.2.0以上的greenDao版本,請嘗試下面的proguard規則

-keepclassmembers class * extends org.greenrobot.greendao.AbstractDao {
    public static java.lang.String TABLENAME;
}
-keep class **$Properties`  

嘗試將此添加到您的proguard規則中

-keepclassmembers class * extends de.greenrobot.dao.AbstractDao {
    public static java.lang.String TABLENAME;
}
-keep class **$Properties

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM