studio source que open framework code apps aosp android frameworks build android-source

source - Símbolos faltantes de Android en Ubuntu



project android source (6)

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

Seguí las instrucciones en source.android.com para construir el framework Android, pero cuando ejecuto el comando make recibo muchos errores. Estoy ejecutando un Ubuntu 11.04 de 32 bits virtualizado en vmware en 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 al usar:

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/


Me encontré con esto también, y el problema era que me faltaban 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.


A continuación se muestra qué eliminó estos errores en mi caso. Un ''/'' extraño ofensivo 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


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 relativo a la ubicación del binario javac. Si está usando 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.


La siguiente fue mi solución en OSX. Tienes que ver qué JVM tienes y configurarlo de manera adecuada.

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


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

export PATH = / Library / Java / JavaVirtualMachines / jdk1.7.0_51.jdk / Contents / Home / bin: $ PATH

PD: La carpeta jdk (jdk.1.7.0_51.jdk) puede ser diferente para las personas, ya que depende de la versión en jdk que haya instalado. Simplemente use la carpeta jdk que ha instalado. El camino a bin es el mismo.