Сбой компиляции Android ant: java.lang.NoClassDefFoundError: com.android.jarutils.SignedJarBuilder - PullRequest
0 голосов
/ 21 июля 2010

Итак, я создал свой build.xml с нуля с помощью утилиты Android:

$ /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 голосов
/ 22 июля 2010

Звучит как (возможно) поврежденный SDK.Вы пытались загрузить его снова?

Другой вариант - запустить ant -v вместо ant.Это даст большую диагностическую информацию и поможет вам выяснить, что происходит.

...