Отсутствующие символы построения Android на Ubuntu - PullRequest
8 голосов
/ 08 января 2012

Я следовал инструкциям на source.android.com для создания платформы Android, но когда я запускаю команду make, я получаю много ошибок.Я использую виртуальную 32-разрядную версию Ubuntu 11.04 на виртуальной машине под управлением 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/

Ответы [ 7 ]

27 голосов
/ 28 июня 2012

Ниже приведено, что убрали эти ошибки в моем случае.Нарушитель посторонний '/' в конце.

плохо:

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
9 голосов
/ 11 декабря 2014

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

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

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

5 голосов
/ 13 декабря 2013

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

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

1 голос
/ 15 августа 2014

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

export ANDROID_JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home
0 голосов
/ 06 декабря 2018

Наконец я закончил свой проект с AOPS

Ошибка в [doclava], о которой упоминалось выше

Я проверяю много информации, чем ДОБАВЛЯЮ

export ANDROID_JAVA_HOME = / Библиотека / Java / JavaVirtualMachines / jdk1.7.0_80.jdk / Содержание / Главная

Удачи ...

0 голосов
/ 17 июня 2012

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

0 голосов
/ 06 февраля 2012

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

...