org.greenrobot.greendao.DaoException в android режиме выпуска при использовании androidx - PullRequest
0 голосов
/ 10 февраля 2020

Я давно использую greenDAO в своем приложении без проблем! Но после перехода моего проекта на использование androidX я получил исключение ( org.greenrobot.greendao.DaoException ), как показано ниже.

Non-fatal Exception: org.greenrobot.greendao.DaoException: app.myapp.models.database.LocationDao@9eff3d3 (LOCATION) does not have a single-column primary key
   at org.greenrobot.greendao.AbstractDao.assertSinglePk(AbstractDao.java:917)
   at org.greenrobot.greendao.AbstractDao.load(AbstractDao.java:135)
   at app.myapp.views.activities.LocationDetailActivity.putLocationDetails(LocationDetailActivity.java:707)
   at app.myapp.views.activities.-$$Lambda$ZJfQ3ya-jyJgM_oHuJ1u29_DoCw.run(-.java)
   at android.os.Handler.handleCallback(Handler.java:815)
   at android.os.Handler.dispatchMessage(Handler.java:104)
   at android.os.Looper.loop(Looper.java:207)
   at android.app.ActivityThread.main(ActivityThread.java:5845)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:768)

Я много искал в Google для решения этой проблемы, но я не нашел ответа, помогающего мне. А это коды моей модели:

public class Location {

@Id (autoincrement = true)
@SerializedName("LocationID")
private long locationID;

@SerializedName("LocationCategoryID")
private long locationCategoryID;

@SerializedName("LocationTitleFA")
private String locationTitleFA;

@SerializedName("LocationTitleEN")
private String locationTitleEN;

@SerializedName("PictureAddress")
private String pictureAddress;

@Generated(hash = 591434765)
public Location(long locationID, long locationCategoryID,
        String locationTitleFA, String locationTitleEN, String pictureAddress) {
    this.locationID = locationID;
    this.locationCategoryID = locationCategoryID;
    this.locationTitleFA = locationTitleFA;
    this.locationTitleEN = locationTitleEN;
    this.pictureAddress = pictureAddress;
}

@Generated(hash = 375979639)
public Location() {
}}

и сеттер и геттер ...

Может ли кто-нибудь мне помочь?!

1 Ответ

0 голосов
/ 11 февраля 2020

Относится к Мистер. Комментарий Маркуса Юнгингера, я исправил проблему:

"Режим выпуска", вероятно, является хорошим лидером. Пожалуйста, проверьте следующие ссылки: github.com/greenrobot/greenDAO#r8-proguard, разработчик. android .com / jetpack / androidx / migrate, github.com/objectbox/objectbox-java/issues/….

Я обновил свои коды Proguard и исправил проблему. Строка кодов была:

-dontwarn org.greenrobot.greendao.database.

Изменено на:

-dontwarn net .sqlcipher.database. **

...