Android打包带有外部依赖项的jar-NoClassDefFoundError

Android打包带有外部依赖项的jar-NoClassDefFoundError,android,jar,dependencies,Android,Jar,Dependencies,我已经创建了一个Android库项目,我想作为一个jar分发给我的客户。我的android项目在/libs下有一些外部jar(gcm.jar、gson.jar…),我在项目属性的“Order and Export”下检查了“android私有库” 我还创建了自己的build.xml,以便创建一个包含外部jar的jar: <property name="lib.dir" value="./libs"/> <target name="jar" depends="debug">

我已经创建了一个Android库项目,我想作为一个jar分发给我的客户。我的android项目在/libs下有一些外部jar(gcm.jar、gson.jar…),我在项目属性的“Order and Export”下检查了“android私有库”

我还创建了自己的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>
使用Eclipse上的Project Explorer,我可以看到我的jar已包含在“Android私有库”中,并带有外部jar。但当我运行新项目时,它们似乎被忽略了

注意:我在这两个项目中都使用jdk1.6

有什么想法吗


感谢堆。

您是否检查了引用JAR的应用程序的“订单和导出”功能?您是否已断开应用程序与库项目的连接,并将所有JAR复制到
libs/
?您好,我也尝试了此方法,当我将所有JAR复制到新项目的libs/中时,效果良好。但是,由于它们已经在我的Android库项目和生成的jar的一部分中被“引用”,我想知道是否有一种方法可以使用它们,而不必将它们复制/粘贴到新的libs/文件夹中……您的库项目也应该在Order&Export下进行检查。Android库应该在顶部,Src,Gen应该在底部谢谢!我想使用一个jar文件,这样我就可以轻松地将它分发给我的客户。使用projectproperties->Android->addlibrary引用Android库项目可以很好地工作,但这不是我希望使用库的方式。我只是不明白为什么生成的jar文件中的外部jar没有被“使用”,并返回一个错误@runtime…我仍然被这个问题困扰,我正在研究其他选项。如果你有什么想法,请在这里大声说出来!我会随时通知你的。
    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