Android アプリケーション プロジェクト (A) と Android ライブラリ プロジェクト (L) があります。A は L をライブラリとして使用します。
ライブラリ プロジェクトである L は、いくつかの外部ライブラリを既に使用しています。これらのライブラリとそれらを呼び出すコードはすべて完全に正常に動作し、しばらくの間正常に動作しています。
ただし、最近、もう 1 つのライブラリを追加しました。Apache Commons IO 2.4 です。現在、ライブラリ コード (L) が Commons IO のメソッドを呼び出そうとすると、アプリケーションがクラッシュします。
他のすべての外部ライブラリを追加したのとまったく同じ方法で、IO ライブラリを追加しました。
私のアプリケーションが最初に起動すると、次のようになります。
11-01 12:32:14.243: I/dalvikvm(3815): Could not find method org.apache.commons.io.FileUtils.copyInputStreamToFile, referenced from method au.com.grdc.alib.helpers.LibraryCommon.download
11-01 12:32:14.243: W/dalvikvm(3815): VFY: unable to resolve static method 7039: Lorg/apache/commons/io/FileUtils;.copyInputStreamToFile (Ljava/io/InputStream;Ljava/io/File;)V
後で私は得る:
11-01 14:50:48.913: E/AndroidRuntime(10030): FATAL EXCEPTION: AsyncTask #1
11-01 14:50:48.913: E/AndroidRuntime(10030): java.lang.RuntimeException: An error occured while executing doInBackground()
...
11-01 12:35:10.268: E/AndroidRuntime(4493): Caused by: java.lang.NoClassDefFoundError: org.apache.commons.io.FileUtils
11-01 12:35:10.268: E/AndroidRuntime(4493): at au.com.grdc.alib.helpers.LibraryCommon.download(LibraryCommon.java:89)
「lib」フォルダーの名前を「libs」に変更することが推奨されていることがわかりました。これは実行しましたが、問題は解決していません。
また、外部ライブラリをエクスポートするようにマークする推奨事項も見ました。これも実行しましたが、問題は修正されていません。