我想在命令行模式下使用ant建立我的android项目。 它与Eclipse一起工作,它用来与蚂蚁一起工作,直到我安装了最新的android sdk。我运行ant release -buildfile projectdir\build.xml
。编译过程没问题,在对齐apk之后,它在运行时会失败ClassDefNotFoundError acra.ACRA
。 我试图从项目中删除对acra的任何引用,但在尝试执行来自库jar的任何代码时,它在运行时会失败。与蚂蚁建设android项目
我的罐子位于项目根目录下的libs
文件夹中。我有点理解这将导致蚂蚁将它们链接到apk。但事实并非如此。
当我使用以前版本的android sdk时,我有一个名为build.properties
的文件,它具有引用jars文件夹external.libs.dir=libs
的属性。但是现在我无法再继续工作了,即使我使用新的属性名称jar.libs.dir=libs
和新的属性文件名称ant.properties
。
我读到ClassDefNotFoundError是因为在编译时找到了库,但它们没有链接到apk中,所以在运行时无法找到它们。 如何连接APK中的外部罐子?
你的私人build.xml不会引用“jar.libs.ref”吗? – NickT 2012-03-29 21:06:30
不,它没有提到这一点,build.xml是由android工具'android.bat'生成的,而不是由我生成的。 – Joel 2012-03-29 21:09:42
哦,只是一个想法,我想知道如果你仍然有一个旧的r16兼容的build.xml。我恐怕没有任何建议。 – NickT 2012-03-29 21:11:34