Intereting Posts
Как я могу использовать сервисы google play в проекте maven? Компилятор Lame MP3 Encoder для Android Внедрение шлюзового платежного шлюза в приложении Cordova / Phonegap Как я могу создать эмулятор Android? Устройства Samsung не закрывают ящик приложения после трансляции CLOSE_SYSTEM_DIALOGS Добавьте предварительно созданные .so файлы в проект с помощью Android Gradle plugin 0.7.3 Построение неудачно: ошибка с проектом Android в Xamarin.Forms ExpandableListView – скрыть индикатор для групп без детей Уровень API для Eclipse для Android Как указать порядок сортировки запроса поставщику контента Односторонние и многотактные жесты Android в одной и той же библиотеке смущают GesturesOverlayView? Пакет отправлен, но не может принимать пакеты Android Deep Linking с несколькими параметрами запроса Eclipse: не удалось инициализировать поток монитора: невозможно установить loopback-соединение (Как) Может ли виртуальное устройство Android использовать интернет локального компьютера?

Отсутствующие символы, создающие 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, но проблема в ОС.