使用库项目编译android项目失败,缺少classes.jar

时间:2015-04-21 08:25:37

标签: java android ant library-project

我制作的应用依赖于Android v7 appCompat支持库。当我尝试使用Ant构建项目时,我从dex收到错误,指出它无法从appCompat项目的bin目录中找到文件classes.jar。这就是我所做的:

  1. 我将SDK下的appCompat目录复制到我的项目中。它现在是libs,res,src等顶级目录之一。
  2. 我将库添加到我的项目中:

    android update project --target 1 --path . --library .\appCompat
    

    ( - 目标1指我系统上的api 22级。)

  3. 我为appCompat项目生成了构建文件:

    cd appCompat
    android update lib-project --target 1 --path .
    
  4. 我回到我的项目并尝试构建它:

    cd ..
    ant clean debug
    

    一切顺利,直到我得到以下内容:

    -dex:
          [dex] input: C:\Users\Tuukka\Documents\app\bin\classes
          [dex] input: C:\Users\Tuukka\Documents\app\appcompat\bin\classes.jar
          [dex] input: C:\Users\Tuukka\Documents\app\appcompat\libs\android-support-v4.jar
          [dex] input: C:\Users\Tuukka\Documents\app\appcompat\libs\android-support-v7-appcompat.jar
          [dex] Pre-Dexing C:\Users\Tuukka\Documents\app\appcompat\libs\android-support-v4.jar -> android-support-v4-7d4b9d18b52617b1310b8c2397abe6b7.jar
          [dex] Pre-Dexing C:\Users\Tuukka\Documents\app\appcompat\libs\android-support-v7-appcompat.jar -> android-support-v7-appcompat-af2360631cde3dc57c1fde6f23204ddb.jar
          [dex] Converting compiled files and external libraries into C:\Users\Tuukka\Documents\app\bin\classes.dex...
           [dx]
           [dx] UNEXPECTED TOP-LEVEL EXCEPTION:
           [dx] java.io.FileNotFoundException: C:\Users\Tuukka\Documents\app\appcompat\bin\classes.jar (No such file or directory)
    
  5. appCompat \ bin中确实没有classes.jar。事实上,在查看整个构建输出之后,似乎从未构建过这样的东西,但Ant似乎期望它存在。

    我有什么东西在这里失踪吗?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

我认为这个问题是由于项目没有被设置为图书馆项目造成的。如果您手动设置所有内容,可以通过将android.library=true添加到[your project]/appCompat/project.properties文件来解决此问题。