Intereting Posts

Отсутствующие символы, создающие Android на Ubuntu

Я выполнил инструкции на source.android.com, чтобы создать фреймворк Android, но когда я запускаю команду make я получаю много ошибок. Я запускаю виртуализованный 32-разрядный Ubuntu 11.04 на vmware под 64-разрядной Windows Vista.

cat /proc/version

говорит

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

Я синхронизировал все, используя:

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

И я выбрал цель полной инженерии, используя:

 lunch full-eng 

Это неполный список ошибок, которые я получаю:

 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/ 

Solutions Collecting From Web of "Отсутствующие символы, создающие Android на Ubuntu"

Ниже приводится то, что устранило эти ошибки в моем случае. Нарушение постороннего «/» в конце.

Плохо:

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

Хорошо:

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

Чтобы исправить это в OSX, добавьте каталог Java bin в PATH

Export PATH = / Библиотека / Java / JavaVirtualMachines / jdk1.7.0_51.jdk / Содержание / Главная / bin: $ PATH

PS: папка jdk (jdk.1.7.0_51.jdk) может отличаться для людей, так как она зависит от версии на установленном вами jdk. Просто используйте папку jdk, которую вы установили. Путь к ящику тот же.

Другая причина этой ошибки заключается в том, что вы используете что-то вроде jenv для управления несколькими средами Java. Инструменты сборки Android по умолчанию ищут tools.jar относительно местоположения двоичного файла javac. Если вы используете jenv (или любой другой инструмент, который захватывает javac), это не сработает.

Однако вы можете установить переменную окружения ANDROID_JAVA_HOME, чтобы указать на ваш «настоящий» JDK, и в этом случае инструменты построения будут выглядеть в $ ANDROID_JAVA_HOME / lib / tools.jar.

Следующим было мое исправление в OSX. Вы должны увидеть, какие JVM у вас есть, и установить его соответствующим образом.

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

Рекомендуется создавать Android-источники с использованием 64-битного Ubuntu Linux. Но я не думаю, что это проблема в вашем случае. Мне кажется, что проблема в JDK. Вы установили версию JDK 6 на свой компьютер?

Я тоже столкнулся с этим, и проблема заключалась в том, что мне не хватало некоторых пакетов Ubuntu. Как только я выполнил инструкции в http://source.android.com/source/initializing.html, чтобы установить пакеты, все сработало нормально. Это запутанно, поскольку ошибка в Java, но проблема в ОС.