我创建了一个 Android 库项目,我想将它作为 jar 分发给我的客户。我的 android 项目在 /libs 下有一些外部 jars(gcm.jar、gson.jar ...),并且我在项目属性的“Order and Export”下检查了“Android Private Libraries”。
我还创建了自己的 build.xml 以创建包含外部 jar 的 jar:
<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>
我正在尝试在一个全新的 Android 项目中使用新创建的 jar。然后我将它复制/粘贴到新项目的 /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。
有任何想法吗?
多谢了。