1. ホーム
  2. android

Androidアプリを端末にアップロードできない(stale dexed jar)

2023-10-28 14:38:42

質問

Android Studio を使ってこのアプリを開発していますが、今日、テストのために自分のデバイスにアップロードしようとしたら、ポップアップ ウィンドウが表示されました。

デバイスに現在のバージョンと一致しない古い dexed jar がある可能性があるため、インストールに失敗しました (dexopt エラー)。 続行するには、既存のアプリケーションをアンインストールする必要があります。

警告: アンインストールすると、アプリケーション データが削除されます!

既存のアプリケーションをアンインストールしますか?

OK か Cancel の 2 つのオプションが表示されました。OK を押すと、実行タブに次のようなメッセージが表示されました。

DEVICE SHELL COMMAND: pm uninstall my.bundle.id

Unknown failure

アプリはアンインストールされたようで、[アプリケーションの管理] にその痕跡はありません。

アプリをアップロードすることができません。プロジェクトを削除して再構築してみましたが、うまくいきません。

どうしたらいいでしょうか?

どのように解決するのですか?

64k 未満のメソッドが含まれているにもかかわらず、dex ファイルがバッファより大きくなっていることを発見しました。そこで、ProGuard を有効にしたところ、dex ファイルのサイズを減らすのに大いに役立ちました。

このアプリケーションは dex-method-counts は、メソッドの数だけでなく、それらがどのパッケージに属しているかをチェックすることで、dexファイルのデバッグに大いに役立ちます。