用ant构建android项目

时间:2012-03-29 20:50:54

标签: android ant apk acra

我正在尝试使用命令行模式下的ant构建我的android项目。 它适用于eclipse,它曾经与ant一起工作,直到我安装了最新的android sdk。

我跑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是因为在编译时发现了librairies,但它们没有链接到apk,所以在运行时找不到它们。 我怎样才能链接apk中的外部罐子?

1 个答案:

答案 0 :(得分:2)

  

编译过程没问题,在对齐apk后,它在运行时因ClassDefNotFoundError而失败acra.ACRA

ACRA中没有acra.ACRA类,至少在当前版本中没有。它是org.acra.ACRA

  

我的jar位于项目根目录的libs文件夹中。我有点理解这会导致ant将它们链接到apk中。但事实并非如此。

是的,确实如此。然后ProGuard将其删除,unless you teach ProGuard not to