java - Android ant 编译失败 : java. lang.NoClassDefFou

因此,我使用 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 发布:
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

最佳答案

听起来(可能)是一个损坏的 SDK。你试过重新下载吗?

另一种选择是运行 ant -v而不是 ant .这将产生大量的诊断输出,并且很可能帮助您弄清楚发生了什么。

关于java - Android ant 编译失败 : java. lang.NoClassDefFoundError : com. android.jarutils.SignedJarBuilder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3303306/

相关文章:

xcode - 对于此SCM错误,我该怎么办?

iphone - 错误: expected specifier-qualifier-list bef

compiler-errors - Fortran 77中的“Unexpected Array Re

gcc - 有没有办法在gcc中使用内联asm使用在编译时求值的表达式?

c# - C#编译器使用CodeDomProvider的详细输出

api - 获取无效的Authsub token 错误403

iphone - 清除所有目标/清空缓存后,iPhone生成错误

javascript - Notes 7.0.3 客户端在没有太多 JavaScript 的表单上编

function - CUDA FORTRAN : function gives different

c++ - 传递模板参数