Ok, j'ai trouvé la solution avec l'aide de Psychol3oy sur OnePlus One Jira. Le problème est sur le site de Google. Ils ne répondent pas aux tentatives de contact, j'ai donc réussi à trouver le problème moi-même.
Psychol3oy suggéré sur ce billet dans OPO Jira, pour activer les options de développement sur votre appareil :
- Entrer dans les paramètres sur Android
- A propos du téléphone
- Tapez plusieurs fois sur le numéro de build - il vous indiquera que vous avez activé les options de développement.
- Retournez dans les paramètres et entrez dans les options de développement
- Cela varie d'un appareil à l'autre. J'ai dû activer "Android debugging" et "Power menu bug reports"
- Aller dans les paramètres
- Trouver Google dans Comptes
- Tentative de synchronisation Garder
- Dans le OnePlus One, maintenez le bouton marche/arrêt enfoncé et appuyez sur rapport de bug.
- Il générera lentement un rapport de bogue pour vous. Partagez-le avec vous par e-mail ou par tout autre moyen.
- Enquêter. Je ne sais pas comment les développeurs Android recherchent cela, j'ai simplement cherché les mots-clés "keep" et "sync" dans le journal.
J'ai trouvé dans la mienne un problème avec l'une des cartes que j'avais sur mon Keep. Elle ressemblait à ceci :
01-12 21:39:04.993 1562 16531 E SyncScheduler: Ignoring sync request: rate limited
(on connection limit)
01-12 21:39:05.003 16099 16529 V KeepSync: Connected to GoogleApiClient.
01-12 21:39:08.653 16099 16529 I KeepSync: documents to pin: 5 Documents to unpin: 0
01-12 21:39:08.793 16099 16529 E SQLiteDatabase: Error inserting user_edited_timestamp=1418138554492 time_created=1418138472081 notification_state=0 type=0 is_new_list_item_from_top=0 title=Marian Simonovi realtime_data_server_version=2 has_read=1 last_modifier_email=null parent_id=0 server_id=1RV2lPCgF9kzIYEAXKFxpH1JOxAsDRredxIoFvBrOiHaB2vYiLRFqoB3FISCS11A account_id=1 order_in_parent=116391936 color_name=GREEN time_last_updated=1418200125436 base_version=29 last_changes_seen_timestamp=1418140253433 is_archived=0 is_graveyard_closed=0 is_trashed=0 is_deleted=0 is_owner=0 sharer_email=null is_dirty=0 uuid=1418138472079.1701639728 is_graveyard_off=0
01-12 21:39:08.793 16099 16529 E SQLiteDatabase: android.database.sqlite.SQLiteConstraintException: columns account_id, uuid are not unique (code 19)
01-12 21:39:08.793 16099 16529 E SQLiteDatabase: at android.database.sqlite.SQLiteConnection.nativeExecuteForLastInsertedRowId(Native Method)
01-12 21:39:08.793 16099 16529 E SQLiteDatabase: at android.database.sqlite.SQLiteConnection.executeForLastInsertedRowId(SQLiteConnection.java:782)
01-12 21:39:08.793 16099 16529 E SQLiteDatabase: at android.database.sqlite.SQLiteSession.executeForLastInsertedRowId(SQLiteSession.java:788)
01-12 21:39:08.793 16099 16529 E SQLiteDatabase: at android.database.sqlite.SQLiteStatement.executeInsert(SQLiteStatement.java:86)
01-12 21:39:08.793 16099 16529 E SQLiteDatabase: at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1469)
01-12 21:39:08.793 16099 16529 E SQLiteDatabase: at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1339)
01-12 21:39:08.793 16099 16529 E SQLiteDatabase: at com.google.android.keep.provider.KeepProvider.a(SourceFile:1762)
01-12 21:39:08.793 16099 16529 E SQLiteDatabase: at com.google.android.keep.provider.KeepProvider.insertInTransaction(SourceFile:1650)
01-12 21:39:08.793 16099 16529 E SQLiteDatabase: at com.android.common.content.SQLiteContentProvider.insert(SourceFile:113)
01-12 21:39:08.793 16099 16529 E SQLiteDatabase: at android.content.ContentProviderOperation.apply(ContentProviderOperation.java:214)
01-12 21:39:08.793 16099 16529 E SQLiteDatabase: at com.android.common.content.SQLiteContentProvider.applyBatch(SourceFile:231)
01-12 21:39:08.793 16099 16529 E SQLiteDatabase: at com.google.android.keep.provider.KeepProvider.applyBatch(SourceFile:1633)
01-12 21:39:08.793 16099 16529 E SQLiteDatabase: at android.content.ContentProvider$Transport.applyBatch(ContentProvider.java:260)
01-12 21:39:08.793 16099 16529 E SQLiteDatabase: at android.content.ContentProviderClient.applyBatch(ContentProviderClient.java:377)
01-12 21:39:08.793 16099 16529 E SQLiteDatabase: at android.content.ContentResolver.applyBatch(ContentResolver.java:1227)
01-12 21:39:08.793 16099 16529 E SQLiteDatabase: at com.google.android.keep.syncadapter.DownSyncResponseProcessor.lZ(SourceFile:295)
01-12 21:39:08.793 16099 16529 E SQLiteDatabase: at com.google.android.keep.syncadapter.DownSyncResponseProcessor.q(SourceFile:263)
01-12 21:39:08.793 16099 16529 E SQLiteDatabase: at com.google.android.keep.syncadapter.DownSyncResponseProcessor.lY(SourceFile:236)
01-12 21:39:08.793 16099 16529 E SQLiteDatabase: at com.google.android.keep.syncadapter.KeepSyncAdapter.a(SourceFile:311)
01-12 21:39:08.793 16099 16529 E SQLiteDatabase: at com.google.android.keep.syncadapter.KeepSyncAdapter.onPerformSync(SourceFile:198)
01-12 21:39:08.793 16099 16529 E SQLiteDatabase: at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:259)
01-12 21:39:08.793 16099 16529 E Keep : Failed to insert row for content://com.google.android.keep/tree_entity?caller_is_syncadapter=true
01-12 21:39:08.813 16099 16529 E KeepSync: OperationApplicationException error while applying sync results
01-12 21:39:08.813 16099 16529 W KeepSync: Sync result 3
01-12 21:39:08.853 16099 16099 D WearableClient: WearableClientImpl.onPostInitHandler: done
01-12 21:39:08.903 798 851 D SyncManager: failed sync operation mimkorn@gmail.com u0 (com.google), com.google.android.keep, SERVER, latestRunTime 3728633, reason: 10013, SyncResult: stats [ numParseExceptions: 1]
01-12 21:39:08.903 798 851 D SyncManager: not retrying sync operation because the error is a hard error: mimkorn@gmail.com u0 (com.google), com.google.android.keep, SERVER, latestRunTime 3856031, reason: 10013
Prêtez attention à la rangée la plus longue, en disant :
01-12 21:39:08.793 16099 16529 E SQLiteDatabase: Error inserting user_edited_timestamp=1418138554492 time_created=1418138472081 notification_state=0 type=0 is_new_list_item_from_top=0 title=Marian Simonovi realtime_data_server_version=2 has_read=1 last_modifier_email=null parent_id=0 server_id=1RV2lPCgF9kzIYEAXKFxpH1JOxAsDRredxIoFvBrOiHaB2vYiLRFqoB3FISCS11A account_id=1 order_in_parent=116391936 color_name=GREEN time_last_updated=1418200125436 base_version=29 last_changes_seen_timestamp=1418140253433 is_archived=0 is_graveyard_closed=0 is_trashed=0 is_deleted=0 is_owner=0 sharer_email=null is_dirty=0 uuid=1418138472079.1701639728 is_graveyard_off=0
Le paramètre de titre de cette ligne indique le nom de la carte "Marian Simonovi". J'ai trouvé cette carte. C'est une carte qu'un ami a partagée avec moi.
- J'ai supprimé (pas archivé, mais supprimé) cette carte sur l'interface web de Keep.
- J'ai essayé de synchroniser mon appareil et cela a fonctionné immédiatement.
Je sais que c'est un peu plus difficile à faire et que ce n'est peut-être pas aussi simple sur votre appareil non-OPO. Vous aurez peut-être des difficultés à accéder aux logs sur votre appareil (vous devrez peut-être utiliser Android Studio sur votre PC). Mais c'est ce qui a fonctionné pour moi. J'espère que votre problème sera similaire.
Il semble qu'il s'agisse d'un bogue sur le site de Google. Si vous connaissez un moyen de leur faire savoir autre que ceux que j'ai déjà essayé (contacter les développeurs via Google play, envoyer un rapport de bug, écrire une question sur google groups, écrire sur xda-forums) merci de m'en faire part, ou de leur en faire part.