2010-07-21 161 views
0

因此,我创建使用Android的效用我从头开始的build.xml:的Android蚂蚁编译失败:java.lang.NoClassDefFoundError:com.android.jarutils.SignedJarBuilder

$ /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后,我有同样的问题:(

$蚂蚁-v版本:

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 

回答

0

这听起来像(可能)腐败的SDK。您是否尝试过重新下载?

另一种替代方法是运行ant -v而不是ant。这将产生大量的诊断结果,并可能帮助您弄清楚发生了什么。

+0

谢谢您的评论。我遵循了你的建议(花了一段时间重新下载了所有东西),并且我在同一个地方:(我现在有SDK r07(2.1),所以在SDK端一切都很干净并且是最新的。这可能是类路径还是Java系统问题? – 2010-07-22 18:49:13

+0

“ant -v”是什么意思?如果找不到一个类,它通常是一个类路径问题,Ant可能会告诉你它在实际使用的详细模式下的哪个类路径 – 2010-07-23 10:26:14

+2

我刚刚注意到你' – 2010-07-23 16:18:17