Ответ 1
Ошибки были устранены путем повторной загрузки исходного кода.
Итак, если кто-то из вас столкнулся с той же ошибкой, я бы предложил вам повторно загрузить источник.
Ошибка должна исчезнуть.
Я нашел те же ошибки, которые были размещены на других форумах, но ответа не найдено, чтобы исправить это.
Запуск на моем недавно установленном Ubuntu 12.10,
out/target/common/obj/PACKAGING/public_api.txt:22097: error 12: Class
android.telephony.gsm.SmsMessage changed static qualifier
prebuilts/sdk/api/18.txt:22054: error 9: Removed public constructor SmsMessage()
prebuilts/sdk/api/18.txt:22055: error 9: Removed public method
android.telephony.gsm.SmsMessage.calculateLength
prebuilts/sdk/api/18.txt:22056: error 9: Removed public method
android.telephony.gsm.SmsMessage.calculateLength
prebuilts/sdk/api/18.txt:22057: error 9: Removed public method
android.telephony.gsm.SmsMessage.createFromPdu
prebuilts/sdk/api/18.txt:22058: error 9: Removed public method
android.telephony.gsm.SmsMessage.getDisplayMessageBody
prebuilts/sdk/api/18.txt:22059: error 9: Removed public method
android.telephony.gsm.SmsMessage.getDisplayOriginatingAddress
prebuilts/sdk/api/18.txt:22060: error 9: Removed public method
android.telephony.gsm.SmsMessage.getEmailBody
prebuilts/sdk/api/18.txt:22061: error 9: Removed public method
android.telephony.gsm.SmsMessage.getEmailFrom
..
..
..
Очевидно, что gsm.SmsMessage имеет неизвестную проблему со средой построения.
Я попытался переключить свою версию java с 1.7 на 1.6. Но он все еще не работает.
Кто-нибудь знает, как это исправить?
Спасибо
Ошибки были устранены путем повторной загрузки исходного кода.
Итак, если кто-то из вас столкнулся с той же ошибкой, я бы предложил вам повторно загрузить источник.
Ошибка должна исчезнуть.
В моем случае проблема была вызвана javadoc
из OpenJDK7, когда я должен использовать один из JDK 6 (Oracle).
На данный момент JDK7 необходим для создания ведущей ветки Android и JDK6 для создания Gingerbread (2.3) через Kitkat (4.4.4).
Если у вас установлено несколько JDK, убедитесь, что вы выбрали правильный для java/javac/javadoc. Вы можете использовать следующие команды:
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javac
$ sudo update-alternatives --config javadoc
Пример вывода для выбора java
(первая команда выше):
There are 3 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1051 auto mode * 1 /usr/lib/jvm/java-6-oracle/jre/bin/java 1 manual mode 3 /usr/lib/jvm/java-7-oracle/jre/bin/java 2 manual mode Press enter to keep the current choice[*], or type selection number:
После расширенного поиска я наконец нашел источник этой ошибки здесь https://groups.google.com/forum/#!msg/android-building/Xw34n7PQJsA/kieneMNt4LkJ. Если повторная загрузка источника не работает, убедитесь, что java, javac и javadoc используют версию 1.6, а не 1.7. Очевидно, javadoc 1.7 имеет своего рода неудобство, вызванное процессом сборки Android AOSP. Это, в свою очередь, вызывает странные ошибки с помощью apicheck usaully this.
Я мог бы исправить это, коснувшись файлов, чтобы восстановить их.
$ touch frameworks/opt/telephony/src/java/android/telephony/gsm/SmsManager.java
$ touch frameworks/opt/telephony/src/java/android/telephony/gsm/SmsMessage.java
$ make
Если вы изменили исходный код на Android, вам нужно будет выпустить "make update-api" перед тем, как "make otapackage" обновить изменения api, которые вы сделали
Проблема заключается именно в javadoc, который равен 1.7, но что действительно неправильно, так это то, что после изменения его на 1.6 из oracle и "make clean" это не помогает. Извлечение и загрузка источников помогает. Я искал какую-то цель, например "make distclean" или "make mrproper", чтобы избежать перераспределения источников, которые требуют много времени. Я ничего не нашел.