我正在尝试在命令行模式下使用 ant 构建我的 android 项目。它与 eclipse 一起使用,并且在我安装了最新的 android sdk 之前它曾经与 ant 一起使用。
我跑ant release -buildfile projectdir\build.xml
。编译过程没问题,对齐apk后,运行时失败,ClassDefNotFoundError acra.ACRA
. 我试图从项目中删除对 acra 的任何引用,但是当尝试执行来自库 jar 的任何代码时,它将在运行时失败。
我的 jar 位于libs
项目根目录的文件夹中。我有点理解这会导致 ant 将它们链接到 apk 中。但事实并非如此。
当我使用以前版本的 android sdk 时,我有一个文件名为build.properties
,其属性引用了 jars 文件夹external.libs.dir=libs
。但是现在我不能再让它工作了,即使我使用新的属性名称jar.libs.dir=libs
和新的属性文件名ant.properties
。
我读到 ClassDefNotFoundError 是因为在编译时找到了库,但它们没有链接到 apk,所以在运行时找不到它们。请问如何链接apk中的外部jar?