Falta de símbolos de construcción de Android en Ubuntu

Seguí las instrucciones en source.android.com para construir el marco de Androide, pero cuando corro el comando de la make consigo muchos errores. Estoy ejecutando un Ubuntu 11.04 virtualizado de 32 bits en vmware bajo un Windows Vista de 64 bits.

cat /proc/version

dice

Linux version 2.6.38-8-generic (buildd@vernadsky) (gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu3) ) #42-Ubuntu SMP Mon Apr 11 03:31:50 UTC 2011

He sincronizado todo usando:

 repo init -u https://android.googlesource.com/platform/manifest repo sync 

Y elegí el objetivo de ingeniería completa mediante:

 lunch full-eng 

Esta es una lista parcial de los errores que recibo:

 PLATFORM_VERSION_CODENAME=AOSP PLATFORM_VERSION=4.0.3.0.2.0.1.0 TARGET_PRODUCT=full TARGET_BUILD_VARIANT=eng TARGET_BUILD_TYPE=release TARGET_BUILD_APPS= TARGET_ARCH=arm TARGET_ARCH_VARIANT=armv7-a HOST_ARCH=x86 HOST_OS=linux HOST_BUILD_TYPE=release BUILD_ID=OPENMASTER OUT_DIR=out /bin/bash: line 0: cd: cts/tools/cts-native-xml-generator/src/res: No such file or directory host Java: doclava (out/host/common/obj/JAVA_LIBRARIES/doclava_intermediates/classes) external/doclava/src/com/google/doclava/ClassInfo.java:20: package com.sun.javadoc does not exist import com.sun.javadoc.ClassDoc; ^ external/doclava/src/com/google/doclava/ClassInfo.java:62: cannot find symbol symbol : class ClassDoc location: class com.google.doclava.ClassInfo public ClassInfo(ClassDoc cl, String rawCommentText, SourcePositionInfo position, ^ external/doclava/src/com/google/doclava/PackageInfo.java:21: package com.sun.javadoc does not exist import com.sun.javadoc.*; ^ external/doclava/src/com/google/doclava/ClassInfo.java:1406: cannot find symbol symbol : class ClassDoc location: class com.google.doclava.ClassInfo private ClassDoc mClass; ^ external/doclava/src/com/google/doclava/PackageInfo.java:33: cannot find symbol symbol : class PackageDoc location: class com.google.doclava.PackageInfo public PackageInfo(PackageDoc pkg, String name, SourcePositionInfo position) { ^ external/doclava/src/com/google/doclava/PackageInfo.java:185: cannot find symbol symbol : class PackageDoc location: class com.google.doclava.PackageInfo private PackageDoc mPackage; ^ external/doclava/src/com/google/doclava/apicheck/XmlApiFile.java:28: package com.sun.javadoc does not exist import com.sun.javadoc.ClassDoc; ^ external/doclava/src/com/google/doclava/Converter.java:19: package com.sun.javadoc does not exist import com.sun.javadoc.*; ^ external/doclava/ 

A continuación se muestra lo que eliminó estos errores en mi caso. Una ofensiva extraña '/' al final.

malo:

 export PATH=/home/rev/BIN/jdk-6u34/jdk1.6.0_34/bin/:$PATH 

Bueno:

 export PATH=/home/rev/BIN/jdk-6u34/jdk1.6.0_34/bin:$PATH 

Para corregir esto en OSX, agregue el directorio bin de Java a PATH

Export PATH = / Biblioteca / Java / JavaVirtualMachines / jdk1.7.0_51.jdk / Contenido / Inicio / bin: $ PATH

PS: La carpeta jdk (jdk.1.7.0_51.jdk) puede ser diferente para la gente, ya que depende de la versión en jdk que haya instalado. Sólo tiene que utilizar la carpeta jdk que ha instalado. El camino a bin es el mismo.

Otra causa de este error es si está utilizando algo como jenv para administrar múltiples entornos Java. Las herramientas de compilación de Android, de forma predeterminada, buscan tools.jar en relación con la ubicación del binario javac. Si está utilizando jenv (o cualquier otra herramienta que secuestra javac), esto no funcionará.

Sin embargo, puede configurar la variable de entorno ANDROID_JAVA_HOME para que apunte a su JDK "real", en cuyo caso las herramientas de compilación aparecerán en $ ANDROID_JAVA_HOME / lib / tools.jar.

Lo siguiente fue mi solución en OSX. Usted tiene que ver qué JVMs usted tiene y fijarlo apropiadamente.

 export ANDROID_JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home 

Se recomienda crear fuentes de Android utilizando Ubuntu Linux de 64 bits. Pero no creo que esto sea un problema en su caso. Me parece que el problema en JDK. ¿Ha instalado la versión JDK 6 en su máquina?

Me encontré con esto también, y el problema era que me faltaba algunos paquetes de Ubuntu. Una vez que seguí las instrucciones en http://source.android.com/source/initializing.html para instalar los paquetes, las cosas funcionaron bien. Es confuso ya que el error está en Java, pero el problema está en el sistema operativo.

  • Yii Framework y Aplicación para Android
  • Red social de Android sdk o marco
  • Android 2D juego motor simple o marco
  • ¿Cómo aprender un marco sin tutoriales
  • ¿Cuál es el uso de LOCAL_MODULE_TAGS?
  • Java.lang.NoClassDefFoundError (libgdx)
  • Arquitectura de la GUI de Android - relación entre Superficie / vista / ventana / lienzo
  • ¿Existe un marco multiplataforma para desarrollar aplicaciones iPhone / Android?
  • ¿Web frameworks para desarrollar para Android y iPhone?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.