これは私を困惑させました。私は明らかに何かが欠けていますが、何がわからないのです。
私はライブラリ(Androidライブラリではなく-通常のJavaライブラリプロジェクト)を持っており、そのライブラリは他のライブラリを使用しています。したがって、セットアップは次のとおりです。
myApi.jar
|
+-- com/myapi/ ... (.class files here).
|
+-- libs/
|
+-- lib1.jar
+-- lib2.jar
さて、myApi.jarAndroidプロジェクトのlibsディレクトリのプロジェクトに含めると、のようMyAndroidProject/libsに、com.myapi. ...クラスのみがファイルに含まれclasses.dexます。lib1.jarおよびlib2.jarのクラスはclasses.dexに含まれていません
明らかな回避策は、myApi.jarファイルからlib1.jarとlib2.jarを削除することです。代わりにそれらも配置しMyAndroidProject/libsます。ただし、これは、myApiのユーザーが、ビルドパスに配置される追加のJARファイルがあることを知っている必要があることを意味します。これは私が避けたいものです。
では、ライブラリJARによって内部的に使用されているJARファイルをファイルに含めるために特別なことをする必要がありclasses.dexますか?