これは私を困惑させました。私は明らかに何かが欠けていますが、何がわからないのです。
私はライブラリ(Androidライブラリではなく-通常のJavaライブラリプロジェクト)を持っており、そのライブラリは他のライブラリを使用しています。したがって、セットアップは次のとおりです。
myApi.jar
|
+-- com/myapi/ ... (.class files here).
|
+-- libs/
|
+-- lib1.jar
+-- lib2.jar
さて、myApi.jar
Androidプロジェクトの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
ますか?