2017-09-26 10 views
0

私はSugar ORMを使用して構築したアプリケーションを持っていますが、今はアプリケーションのアップデートでスキーマを更新する必要があります。私はSugar ORMによって提供されるデータベースの移行に関する文書を守り、それはほとんどの場合動作するようです。ただし、アップグレードが複数回実行され、クラッシュが発生することがあります。Android - Sugar ORMデータベースの移行が複数回実行されます

ドキュメントによると、私のスキーマバージョンに合わせて名前を付けられたSQLスクリプトを作成し、それを/assets/sugar-upgradesフォルダに入れる必要があります。それが行われて、ここに私の簡単なスクリプトです。

ALTER TABLE SETTINGS ADD VBTTN_ADDRESS TEXT; 

ご覧のとおり、SETTINGSテーブルに列を追加するだけです。このステップの後、ドキュメントはAndroidManifest.xml fileに新しいバージョンのスキーマを設定すると言います。これもやっている。

そこから、更新プロセスはスクリプトを既存のデータベースと同じように実行することになっており、正しく実行されます。しかし、次のクラッシュの原因となるスクリプトを2回目に実行するように見えることがあります。

# Crashlytics - plaintext stacktrace downloaded by Paul Vinten at Fri, 22 Sep 2017 15:23:19 GMT 
# URL: https://fabric.io/sl-labs/android/apps/com.myapp/issues/59bac986be077a4dcca10ad0?time=last-twenty-four-hours/sessions/59C512E5019C0001364FFFF2717BBDAC_a227484f9f9b11e7b44b56847afe9799_0_v2 
# Organization: SL Labs 
# Platform: android 
# Application: Checkon.me 
# Version: 1.4 (18) 
# Bundle Identifier: com.myapp 
# Issue #: 21 
# Issue ID: 59bac986be077a4dcca10ad0 
# Session ID: 59C512E5019C0001364FFFF2717BBDAC_a227484f9f9b11e7b44b56847afe9799_0_v2 
# Date: 2017-09-22T13:40:44Z 
# OS Version: 7.0 
# Device: Galaxy S6 
# RAM Free: 37.8% 
# Disk Free: 85.4% 

#0. Crashed: main: 0 0 0x0000000000000000 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2927) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2988) 
     at android.app.ActivityThread.-wrap14(ActivityThread.java) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1631) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:154) 
     at android.app.ActivityThread.main(ActivityThread.java:6682) 
     at java.lang.reflect.Method.invoke(Method.java) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410) 

-- 

Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.myapp/com.myapp.activities.MainActivity}: android.database.sqlite.SQLiteException: duplicate column name: VBTTN_ADDRESS (code 1): , while compiling: alter table SETTINGS add VBTTN_ADDRESS TEXT; 
################################################################# 
Error Code : 1 (SQLITE_ERROR) 
Caused By : SQL(query) error or missing database. 
    (duplicate column name: VBTTN_ADDRESS (code 1): , while compiling: alter table SETTINGS add VBTTN_ADDRESS TEXT;) 
################################################################# 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2927) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2988) 
     at android.app.ActivityThread.-wrap14(ActivityThread.java) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1631) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:154) 
     at android.app.ActivityThread.main(ActivityThread.java:6682) 
     at java.lang.reflect.Method.invoke(Method.java) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410) 
Caused by android.database.sqlite.SQLiteException: duplicate column name: VBTTN_ADDRESS (code 1): , while compiling: alter table SETTINGS add VBTTN_ADDRESS TEXT; 
################################################################# 
Error Code : 1 (SQLITE_ERROR) 
Caused By : SQL(query) error or missing database. 
    (duplicate column name: VBTTN_ADDRESS (code 1): , while compiling: alter table SETTINGS add VBTTN_ADDRESS TEXT;) 
################################################################# 
     at android.database.sqlite.SQLiteConnection.nativePrepareStatement(SQLiteConnection.java) 
     at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1005) 
     at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:570) 
     at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588) 
     at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:59) 
     at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31) 
     at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:2055) 
     at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1986) 
     at com.orm.SchemaGenerator.executeScript(SchemaGenerator.java:97) 
     at com.orm.SchemaGenerator.executeSugarUpgrade(SchemaGenerator.java:75) 
     at com.orm.SchemaGenerator.doUpgrade(SchemaGenerator.java:52) 
     at com.orm.SugarDb.onUpgrade(SugarDb.java:31) 
     at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:256) 
     at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163) 
     at com.orm.SugarDb.getDB(SugarDb.java:36) 
     at com.orm.SugarRecord.find(SugarRecord.java:189) 
     at com.orm.SugarRecord.listAll(SugarRecord.java:94) 
     at com.myapp.model.Settings.getSettings(Settings.java:71) 
     at com.myapp.activities.MainActivity.onCreate(MainActivity.java:18) 
     at android.app.Activity.performCreate(Activity.java:6942) 
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1126) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2880) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2988) 
     at android.app.ActivityThread.-wrap14(ActivityThread.java) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1631) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:154) 
     at android.app.ActivityThread.main(ActivityThread.java:6682) 
     at java.lang.reflect.Method.invoke(Method.java) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410) 

#0. Crashed: main: 0 0 0x0000000000000000 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2927) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2988) 
     at android.app.ActivityThread.-wrap14(ActivityThread.java) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1631) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:154) 
     at android.app.ActivityThread.main(ActivityThread.java:6682) 
     at java.lang.reflect.Method.invoke(Method.java) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410) 

#1. Queue 
     at java.lang.Object.wait(Object.java) 
     at java.lang.Thread.parkFor$(Thread.java:2128) 
     at sun.misc.Unsafe.park(Unsafe.java:325) 
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161) 
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035) 
     at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46) 
     at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
     at java.lang.Thread.run(Thread.java:762) 

#2. HeapTaskDaemon 
     at dalvik.system.VMRuntime.runHeapTasks(VMRuntime.java) 
     at java.lang.Daemons$HeapTaskDaemon.run(Daemons.java:433) 
     at java.lang.Thread.run(Thread.java:762) 

#3. OkHttp ConnectionPool 
     at java.lang.Object.wait(Object.java) 
     at com.android.okhttp.ConnectionPool.performCleanup(ConnectionPool.java:319) 
     at com.android.okhttp.ConnectionPool.runCleanupUntilPoolIsEmpty(ConnectionPool.java:256) 
     at com.android.okhttp.ConnectionPool.-wrap0(ConnectionPool.java) 
     at com.android.okhttp.ConnectionPool$1.run(ConnectionPool.java:102) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
     at java.lang.Thread.run(Thread.java:762) 

#4. Queue 
     at java.lang.Object.wait(Object.java) 
     at java.lang.Thread.parkFor$(Thread.java:2128) 
     at sun.misc.Unsafe.park(Unsafe.java:325) 
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161) 
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035) 
     at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46) 
     at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
     at java.lang.Thread.run(Thread.java:762) 

#5. Crashlytics Report Uploader 
     at java.lang.Thread.sleep(Thread.java) 
     at java.lang.Thread.sleep(Thread.java:371) 
     at java.lang.Thread.sleep(Thread.java:313) 
     at com.crashlytics.android.core.ReportUploader$Worker.attemptUploadWithRetry(ReportUploader.java:188) 
     at com.crashlytics.android.core.ReportUploader$Worker.onRun(ReportUploader.java:173) 
     at io.fabric.sdk.android.services.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:30) 
     at java.lang.Thread.run(Thread.java:762) 

#6. ReferenceQueueDaemon 
     at java.lang.Object.wait(Object.java) 
     at java.lang.Daemons$ReferenceQueueDaemon.run(Daemons.java:150) 
     at java.lang.Thread.run(Thread.java:762) 

#7. Answers Events Handler1 
     at java.lang.Object.wait(Object.java) 
     at java.lang.Thread.parkFor$(Thread.java:2128) 
     at sun.misc.Unsafe.park(Unsafe.java:325) 
     at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:201) 
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2077) 
     at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1103) 
     at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1084) 
     at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
     at io.fabric.sdk.android.services.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:75) 
     at io.fabric.sdk.android.services.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:30) 
     at java.lang.Thread.run(Thread.java:762) 

#8. Queue 
     at java.lang.Object.wait(Object.java) 
     at java.lang.Thread.parkFor$(Thread.java:2128) 
     at sun.misc.Unsafe.park(Unsafe.java:325) 
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161) 
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035) 
     at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46) 
     at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
     at java.lang.Thread.run(Thread.java:762) 

#9. Queue 
     at java.lang.Object.wait(Object.java) 
     at java.lang.Thread.parkFor$(Thread.java:2128) 
     at sun.misc.Unsafe.park(Unsafe.java:325) 
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161) 
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035) 
     at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46) 
     at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
     at java.lang.Thread.run(Thread.java:762) 

#10. Queue 
     at java.lang.Object.wait(Object.java) 
     at java.lang.Thread.parkFor$(Thread.java:2128) 
     at sun.misc.Unsafe.park(Unsafe.java:325) 
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161) 
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035) 
     at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46) 
     at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
     at java.lang.Thread.run(Thread.java:762) 

#11. Queue 
     at java.lang.Object.wait(Object.java) 
     at java.lang.Thread.parkFor$(Thread.java:2128) 
     at sun.misc.Unsafe.park(Unsafe.java:325) 
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161) 
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035) 
     at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46) 
     at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
     at java.lang.Thread.run(Thread.java:762) 

#12. Thread-11 
     at java.lang.Object.wait(Object.java) 
     at java.lang.Thread.parkFor$(Thread.java:2128) 
     at sun.misc.Unsafe.park(Unsafe.java:325) 
     at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:201) 
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2077) 
     at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:438) 
     at com.google.android.gms.common.zza.zza(Unknown Source) 
     at com.google.android.gms.ads.identifier.AdvertisingIdClient.zza(Unknown Source) 
     at com.google.android.gms.ads.identifier.AdvertisingIdClient.zzd(Unknown Source) 
     at com.google.android.gms.ads.identifier.AdvertisingIdClient.getAdvertisingIdInfo(Unknown Source) 
     at java.lang.reflect.Method.invoke(Method.java) 
     at io.fabric.sdk.android.services.common.AdvertisingInfoReflectionStrategy.getInfo(AdvertisingInfoReflectionStrategy.java:106) 
     at io.fabric.sdk.android.services.common.AdvertisingInfoReflectionStrategy.getAdvertisingId(AdvertisingInfoReflectionStrategy.java:76) 
     at io.fabric.sdk.android.services.common.AdvertisingInfoReflectionStrategy.getAdvertisingInfo(AdvertisingInfoReflectionStrategy.java:66) 
     at io.fabric.sdk.android.services.common.AdvertisingInfoProvider.getAdvertisingInfoFromStrategies(AdvertisingInfoProvider.java:118) 
     at io.fabric.sdk.android.services.common.AdvertisingInfoProvider.access$000(AdvertisingInfoProvider.java:28) 
     at io.fabric.sdk.android.services.common.AdvertisingInfoProvider$1.onRun(AdvertisingInfoProvider.java:70) 
     at io.fabric.sdk.android.services.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:30) 
     at java.lang.Thread.run(Thread.java:762) 

#13. FinalizerWatchdogDaemon 
     at java.lang.Object.wait(Object.java) 
     at java.lang.Daemons$FinalizerWatchdogDaemon.sleepUntilNeeded(Daemons.java:269) 
     at java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:249) 
     at java.lang.Thread.run(Thread.java:762) 

#14. FinalizerDaemon 
     at java.lang.Object.wait(Object.java) 
     at java.lang.Object.wait(Object.java:407) 
     at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:188) 
     at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:209) 
     at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:204) 
     at java.lang.Thread.run(Thread.java:762) 

#15. Queue 
     at java.lang.Object.wait(Object.java) 
     at java.lang.Thread.parkFor$(Thread.java:2128) 
     at sun.misc.Unsafe.park(Unsafe.java:325) 
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161) 
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035) 
     at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46) 
     at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
     at java.lang.Thread.run(Thread.java:762) 

#16. Queue 
     at java.lang.Object.wait(Object.java) 
     at java.lang.Thread.parkFor$(Thread.java:2128) 
     at sun.misc.Unsafe.park(Unsafe.java:325) 
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161) 
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035) 
     at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46) 
     at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
     at java.lang.Thread.run(Thread.java:762) 

#17. Crashlytics Exception Handler1 
     at dalvik.system.VMStack.getThreadStackTrace(VMStack.java) 
     at java.lang.Thread.getStackTrace(Thread.java:1567) 
     at java.lang.Thread.getAllStackTraces(Thread.java:1617) 
     at com.crashlytics.android.core.CrashlyticsController.writeSessionEvent(CrashlyticsController.java:1114) 
     at com.crashlytics.android.core.CrashlyticsController.writeFatal(CrashlyticsController.java:852) 
     at com.crashlytics.android.core.CrashlyticsController.access$400(CrashlyticsController.java:59) 
     at com.crashlytics.android.core.CrashlyticsController$6.call(CrashlyticsController.java:292) 
     at com.crashlytics.android.core.CrashlyticsController$6.call(CrashlyticsController.java:285) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
     at io.fabric.sdk.android.services.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:75) 
     at io.fabric.sdk.android.services.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:30) 
     at java.lang.Thread.run(Thread.java:762) 

#18. Queue 
     at java.lang.Object.wait(Object.java) 
     at java.lang.Thread.parkFor$(Thread.java:2128) 
     at sun.misc.Unsafe.park(Unsafe.java:325) 
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161) 
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035) 
     at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65) 
     at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46) 
     at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
     at java.lang.Thread.run(Thread.java:762) 

誰でもこの問題がありましたか?誰もが問題を解決する方法を考え出しましたか?

** EDIT ** この問題はリリースビルドで発生し、開発中では発生しません。断続的です。私が複製できるものではありません。私のテスターだけがそれを複製して、古いものより新しいバージョンのアプリをインストールする以外のパターンを見つけることはできません。問題が発生する場合もありますが、ほとんどの場合問題は発生しません。

答えて

0

インクリメンタルビルドに問題があるはずです。クリーンビルドで試してみてください。

あなたはシュガーORM

またCrashlyticsのためのインスタント実行を無効にしていることを確認しますが、タイムスタンプと同期するようにビルド番号が増加します。 これをgradleファイルに追加することで、開発環境用に無効にすることができます。

android { 
    ... 
    buildTypes { 
     debug { 
     ext.enableCrashlytics = false 
    } 
} 

幸運

エムレ

+0

私がコメントに感謝しますが、実際に私は、私は明確にしなかったと思います一つのことは、このアプリをデバッグ中に発生する問題ではないということです。それは、アプリのリリース版で発生します。 –

+0

こんにちは、この問題を抱えていて、修正できましたか? – David