現在、携帯電話 (バージョン 2.2) でアプリをテストするときに ArrayDeque class def not found エラーが発生していますが、エミュレータ (2.3.3) で実行するとエラーが発生しません。エラーは次のとおりです。
java.lang.NoClassDefFoundError: java.util.ArrayDeque
どんな助けでも大歓迎です。
ArrayDeque クラスは API レベル 9 で追加されたため、Android 2.2 では使用できません。
コードでArrayDequeを単独で使用しないアプリでRetrofit lib(ArrayDequeを使用しているため、Froyoデバイスで同じ例外が発生しています)を使用しようとしていました。私のアプリには最小APIレベル8があるため、FroyoのArrayDequeサポートがないため、別のソリューション(loopj android async clientまたはaquery)に切り替える必要がありました。
現在、Froyo は実際の AOS バージョンではありませんが、新しく開始したアプリでは、Google の統計によると市場のインストール数が 1% を超えているため、サポートを中止したくありません。
Android のドキュメントをArrayDeque
見て、右上隅を見ると、「Since: API Level 9」と表示されていることがわかります。
API レベルと Android OS のバージョンを一致させるための便利なチャートは、こちらです。API レベル 9 は Android 2.3-2.3.2 です