複数のライブラリ (特に Facebook、Google マップ v2、Quickblox 用) を必要とする Android アプリを開発しているため、64K の制限を超えるメソッド量のオーバーフローが発生します。
Unable to execute dex: method ID not in [0, 0xffff]: 65536
Conversion to Dalvik format failed: Unable to execute dex: method ID not in [0, 0xffff]: 65536
私はこれらのライブラリがなければできないので、メソッド制限バグの解決策を探しました。Android Developers から、ソース コード部門が推奨されている人気のブログ エントリを見つけました。(私が話しているブログ エントリは、ここにあります: http://android-developers.blogspot.com.es/2011/07/custom-class-loading-in-dalvik.html )。私はこの解決策を試してきましたが、成功しませんでした。
私が今抱えている問題は、最大量のコードがアプリ自体ではなく、必要なライブラリにあるため、アプリにロードする必要があるさまざまな dex ファイルにそれらのライブラリを分散させる必要があることです。Ant に関する私の知識は非常に限られています。知りたいのは、必要な場所に各ライブラリを dex コピーするために build.xml ファイルに何を書くべきかです。
<!-- Primary dex to include my source code and some libraries. -->
<copy todir="${out.classes.absolute.dir}.1" >
<fileset dir="${out.classes.absolute.dir}" >
...
</fileset>
</copy>
<!-- Secondary dex to include some other libraries. -->
<copy todir="${out.classes.absolute.dir}.2" >
<fileset dir="${out.classes.absolute.dir}" >
...
</fileset>
</copy>
どんな助けでも本当に感謝します。よろしくお願いします。