SQLiteでIDを使いまわしてエラーとなりました。
Androidのアプリでデータ取込機能を入れたらちょっとはまってしまったため、メモを残しておく。現象としてはデータを投入したらデータはないはずなのに一意制約違反で落ちる。
原因は、そのままずばり。SQLiteの設定で主キーの使い回しがNGなのに使い回してInsertしてたため。GreenDAOのテーブル定義でINTEGER PRIMARY KEYにAUTOINCREMENTを設定していたのでSQLiteが過去に使われたIDは利用しない作りになっていた。
AUTOINCREMENTを設定する場合としない場合の違い - SQLite入門