クライアントに jar として配布したい Android ライブラリ プロジェクトを作成しました。私の Android プロジェクトには、/libs の下にいくつかの外部 jar (gcm.jar、gson.jar...) があり、プロジェクト プロパティの [注文とエクスポート] の下にある [Android プライベート ライブラリ] をチェックしました。
外部 jar を含む jar を作成するために、独自の build.xml も作成しました。
<property name="lib.dir" value="./libs"/>
<target name="jar" depends="debug">
<jar
destfile="bin/my-distribution.jar"
basedir="bin/classes" >
<fileset dir="${lib.dir}" includes="**/*.jar" />
</jar>
</target>
新しく作成した jar を新しい Android プロジェクトで使用しようとしています。次に、新しいプロジェクトの /libs フォルダーにコピーして貼り付け、実行します。次のエラー メッセージが表示されます。
06-19 22:29:49.925: I/dalvikvm(10108): Could not find method com.google.android.gcm.GCMRegistrar.checkDevice, referenced from method XXXX
06-19 22:29:49.930: E/AndroidRuntime(10108): java.lang.NoClassDefFoundError: com.google.android.gcm.GCMRegistrar
Eclipse で Project Explorer を使用すると、jar が外部 jarと共に「Android Private Libraries 」に含まれていることがわかります。しかし、新しいプロジェクトを実行すると無視されるようです...
注: 両方のプロジェクトで jdk1.6 を使用しています。
何か案は?
ありがとうございます。