所以我使用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
答案 0 :(得分:0)
听起来像(可能)一个损坏的SDK。您是否尝试过再次下载?
另一种方法是运行ant -v
而不是ant
。这将产生大量的诊断输出,并可能帮助您弄清楚正在发生的事情。