Android ant编译失败:java.lang.NoClassDefFoundError:com.android.jarutils.SignedJarBuilder

时间:2010-07-21 19:58:45

标签: java android ant compiler-errors

所以我使用android实用程序从头创建了我的build.xml:

$ /opt/android-sdk-linux_86/tools/android create project --target android-6 --name Dash --path . --activity Main --package com.gtosoft.dash

然后我尝试启动编译,但它失败了!

$ ant release
Buildfile: build.xml
    [setup] Android SDK Tools Revision 6
    [setup] Project Target: Android 2.0.1
    [setup] API level: 6
    [setup] WARNING: Attribute minSdkVersion in AndroidManifest.xml (5) is lower than the project target API level (6)
    [setup] Importing rules file: platforms/android-6/templates/android_rules.xml

-dirs:
     [echo] Creating output directories if needed...

-resource-src:
     [echo] Generating R.java / Manifest.java from the resources...

-aidl:
     [echo] Compiling aidl files into Java classes...

compile:
    [javac] Compiling 1 source file to /home/brad/Desktop/android/eclipse/Dash/bin/classes

-dex:
     [echo] Converting compiled files and external libraries into /home/brad/Desktop/android/eclipse/Dash/bin/classes.dex...
     [echo]          

-package-resources:
     [echo] Packaging resources
 [aaptexec] Creating full resource package...

-package-no-sign:
[apkbuilder] Creating Dash-unsigned.apk for release...

BUILD FAILED
/opt/android-sdk-linux_86/platforms/android-6/templates/android_rules.xml:286: The following error occurred while executing this line:
/opt/android-sdk-linux_86/platforms/android-6/templates/android_rules.xml:152: java.lang.NoClassDefFoundError: com.android.jarutils.SignedJarBuilder

Total time: 16 seconds

我为什么抱怨com.android.jarutils.SignedJarBuilder

而感到茫然

编辑:重新安装SDK后,我遇到了同样的问题:(

$ ant -v release:

BUILD FAILED
/opt/android-sdk-linux_86/platforms/android-7/ant/ant_rules_r2.xml:301: The following error occurred while executing this line:
/opt/android-sdk-linux_86/platforms/android-7/ant/ant_rules_r2.xml:156: java.lang.NoClassDefFoundError: com.android.jarutils.SignedJarBuilder
   at org.apache.tools.ant.ProjectHelper.addLocationToBuildException(ant-1.7.1.jar.so)
   at org.apache.tools.ant.taskdefs.MacroInstance.execute(ant-1.7.1.jar.so)
   at org.apache.tools.ant.UnknownElement.execute(ant-1.7.1.jar.so)
   at java.lang.reflect.Method.invoke(libgcj.so.9)
   at org.apache.tools.ant.dispatch.DispatchUtils.execute(ant-1.7.1.jar.so)
   at org.apache.tools.ant.Task.perform(ant-1.7.1.jar.so)
   at org.apache.tools.ant.Target.execute(ant-1.7.1.jar.so)
   at org.apache.tools.ant.Target.performTasks(ant-1.7.1.jar.so)
   at org.apache.tools.ant.Project.executeSortedTargets(ant-1.7.1.jar.so)
   at org.apache.tools.ant.Project.executeTarget(ant-1.7.1.jar.so)
   at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(ant-1.7.1.jar.so)
   at org.apache.tools.ant.Project.executeTargets(ant-1.7.1.jar.so)
   at org.apache.tools.ant.Main.runBuild(ant-1.7.1.jar.so)
   at org.apache.tools.ant.Main.startAnt(ant-1.7.1.jar.so)
   at org.apache.tools.ant.launch.Launcher.run(ant-launcher-1.7.1.jar.so)
   at org.apache.tools.ant.launch.Launcher.main(ant-launcher-1.7.1.jar.so)
Caused by: /opt/android-sdk-linux_86/platforms/android-7/ant/ant_rules_r2.xml:156: java.lang.NoClassDefFoundError: com.android.jarutils.SignedJarBuilder
   at org.apache.tools.ant.dispatch.DispatchUtils.execute(ant-1.7.1.jar.so)
   at org.apache.tools.ant.Task.perform(ant-1.7.1.jar.so)
   at org.apache.tools.ant.taskdefs.Sequential.execute(ant-1.7.1.jar.so)
   at org.apache.tools.ant.UnknownElement.execute(ant-1.7.1.jar.so)
   at java.lang.reflect.Method.invoke(libgcj.so.9)
   at org.apache.tools.ant.dispatch.DispatchUtils.execute(ant-1.7.1.jar.so)
   at org.apache.tools.ant.Task.perform(ant-1.7.1.jar.so)
   ...15 more
Caused by: java.lang.NoClassDefFoundError: com.android.jarutils.SignedJarBuilder
   at java.lang.Class.initializeClass(libgcj.so.9)
   at com.android.apkbuilder.internal.ApkBuilderImpl.createPackage(ApkBuilderImpl.java:397)
   at com.android.ant.ApkBuilderTask.createApk(ApkBuilderTask.java:342)
   at com.android.ant.ApkBuilderTask.execute(ApkBuilderTask.java:238)
   at org.apache.tools.ant.UnknownElement.execute(ant-1.7.1.jar.so)
   at java.lang.reflect.Method.invoke(libgcj.so.9)
   at org.apache.tools.ant.dispatch.DispatchUtils.execute(ant-1.7.1.jar.so)
   ...21 more
Caused by: java.lang.ClassNotFoundException: sun.security.x509.AlgorithmId
   at org.apache.tools.ant.AntClassLoader.findClassInComponents(ant-1.7.1.jar.so)
   at org.apache.tools.ant.AntClassLoader.findClass(ant-1.7.1.jar.so)
   at org.apache.tools.ant.AntClassLoader.loadClass(ant-1.7.1.jar.so)
   at java.lang.ClassLoader.loadClass(libgcj.so.9)
   at java.lang.Class.initializeClass(libgcj.so.9)
   ...27 more
--- Nested Exception ---
/opt/android-sdk-linux_86/platforms/android-7/ant/ant_rules_r2.xml:156: java.lang.NoClassDefFoundError: com.android.jarutils.SignedJarBuilder
   at org.apache.tools.ant.dispatch.DispatchUtils.execute(ant-1.7.1.jar.so)
   at org.apache.tools.ant.Task.perform(ant-1.7.1.jar.so)
   at org.apache.tools.ant.taskdefs.Sequential.execute(ant-1.7.1.jar.so)
   at org.apache.tools.ant.UnknownElement.execute(ant-1.7.1.jar.so)
   at java.lang.reflect.Method.invoke(libgcj.so.9)
   at org.apache.tools.ant.dispatch.DispatchUtils.execute(ant-1.7.1.jar.so)
   at org.apache.tools.ant.Task.perform(ant-1.7.1.jar.so)
   at org.apache.tools.ant.taskdefs.MacroInstance.execute(ant-1.7.1.jar.so)
   at org.apache.tools.ant.UnknownElement.execute(ant-1.7.1.jar.so)
   at java.lang.reflect.Method.invoke(libgcj.so.9)
   at org.apache.tools.ant.dispatch.DispatchUtils.execute(ant-1.7.1.jar.so)
   at org.apache.tools.ant.Task.perform(ant-1.7.1.jar.so)
   at org.apache.tools.ant.Target.execute(ant-1.7.1.jar.so)
   at org.apache.tools.ant.Target.performTasks(ant-1.7.1.jar.so)
   at org.apache.tools.ant.Project.executeSortedTargets(ant-1.7.1.jar.so)
   at org.apache.tools.ant.Project.executeTarget(ant-1.7.1.jar.so)
   at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(ant-1.7.1.jar.so)
   at org.apache.tools.ant.Project.executeTargets(ant-1.7.1.jar.so)
   at org.apache.tools.ant.Main.runBuild(ant-1.7.1.jar.so)
   at org.apache.tools.ant.Main.startAnt(ant-1.7.1.jar.so)
   at org.apache.tools.ant.launch.Launcher.run(ant-launcher-1.7.1.jar.so)
   at org.apache.tools.ant.launch.Launcher.main(ant-launcher-1.7.1.jar.so)
Caused by: java.lang.NoClassDefFoundError: com.android.jarutils.SignedJarBuilder
   at java.lang.Class.initializeClass(libgcj.so.9)
   at com.android.apkbuilder.internal.ApkBuilderImpl.createPackage(ApkBuilderImpl.java:397)
   at com.android.ant.ApkBuilderTask.createApk(ApkBuilderTask.java:342)
   at com.android.ant.ApkBuilderTask.execute(ApkBuilderTask.java:238)
   at org.apache.tools.ant.UnknownElement.execute(ant-1.7.1.jar.so)
   at java.lang.reflect.Method.invoke(libgcj.so.9)
   at org.apache.tools.ant.dispatch.DispatchUtils.execute(ant-1.7.1.jar.so)
   ...21 more
Caused by: java.lang.ClassNotFoundException: sun.security.x509.AlgorithmId
   at org.apache.tools.ant.AntClassLoader.findClassInComponents(ant-1.7.1.jar.so)
   at org.apache.tools.ant.AntClassLoader.findClass(ant-1.7.1.jar.so)
   at org.apache.tools.ant.AntClassLoader.loadClass(ant-1.7.1.jar.so)
   at java.lang.ClassLoader.loadClass(libgcj.so.9)
   at java.lang.Class.initializeClass(libgcj.so.9)
   ...27 more
--- Nested Exception ---
java.lang.NoClassDefFoundError: com.android.jarutils.SignedJarBuilder
   at java.lang.Class.initializeClass(libgcj.so.9)
   at com.android.apkbuilder.internal.ApkBuilderImpl.createPackage(ApkBuilderImpl.java:397)
   at com.android.ant.ApkBuilderTask.createApk(ApkBuilderTask.java:342)
   at com.android.ant.ApkBuilderTask.execute(ApkBuilderTask.java:238)
   at org.apache.tools.ant.UnknownElement.execute(ant-1.7.1.jar.so)
   at java.lang.reflect.Method.invoke(libgcj.so.9)
   at org.apache.tools.ant.dispatch.DispatchUtils.execute(ant-1.7.1.jar.so)
   at org.apache.tools.ant.Task.perform(ant-1.7.1.jar.so)
   at org.apache.tools.ant.taskdefs.Sequential.execute(ant-1.7.1.jar.so)
   at org.apache.tools.ant.UnknownElement.execute(ant-1.7.1.jar.so)
   at java.lang.reflect.Method.invoke(libgcj.so.9)
   at org.apache.tools.ant.dispatch.DispatchUtils.execute(ant-1.7.1.jar.so)
   at org.apache.tools.ant.Task.perform(ant-1.7.1.jar.so)
   at org.apache.tools.ant.taskdefs.MacroInstance.execute(ant-1.7.1.jar.so)
   at org.apache.tools.ant.UnknownElement.execute(ant-1.7.1.jar.so)
   at java.lang.reflect.Method.invoke(libgcj.so.9)
   at org.apache.tools.ant.dispatch.DispatchUtils.execute(ant-1.7.1.jar.so)
   at org.apache.tools.ant.Task.perform(ant-1.7.1.jar.so)
   at org.apache.tools.ant.Target.execute(ant-1.7.1.jar.so)
   at org.apache.tools.ant.Target.performTasks(ant-1.7.1.jar.so)
   at org.apache.tools.ant.Project.executeSortedTargets(ant-1.7.1.jar.so)
   at org.apache.tools.ant.Project.executeTarget(ant-1.7.1.jar.so)
   at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(ant-1.7.1.jar.so)
   at org.apache.tools.ant.Project.executeTargets(ant-1.7.1.jar.so)
   at org.apache.tools.ant.Main.runBuild(ant-1.7.1.jar.so)
   at org.apache.tools.ant.Main.startAnt(ant-1.7.1.jar.so)
   at org.apache.tools.ant.launch.Launcher.run(ant-launcher-1.7.1.jar.so)
   at org.apache.tools.ant.launch.Launcher.main(ant-launcher-1.7.1.jar.so)
Caused by: java.lang.ClassNotFoundException: sun.security.x509.AlgorithmId
   at org.apache.tools.ant.AntClassLoader.findClassInComponents(ant-1.7.1.jar.so)
   at org.apache.tools.ant.AntClassLoader.findClass(ant-1.7.1.jar.so)
   at org.apache.tools.ant.AntClassLoader.loadClass(ant-1.7.1.jar.so)
   at java.lang.ClassLoader.loadClass(libgcj.so.9)
   at java.lang.Class.initializeClass(libgcj.so.9)
   ...27 more

1 个答案:

答案 0 :(得分:0)

听起来像(可能)一个损坏的SDK。您是否尝试过再次下载?

另一种方法是运行ant -v而不是ant。这将产生大量的诊断输出,并可能帮助您弄清楚正在发生的事情。