我发现在其他论坛上发布了一些相同的错误,但尚未找到解决此问题的答案.
在我新安装的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
..
..
..
Run Code Online (Sandbox Code Playgroud)
很显然,gsm.SmsMessage在构建环境中存在一些未知问题.
我试图将我的java版本从1.7切换到1.6.但它仍然无效.
有谁知道如何解决这一问题?
谢谢
mil*_*ita 16
在我的情况下,问题是由javadocOpenJDK7 引起的,当时我应该使用JDK6(Oracle).
截至目前,需要JDK7来构建Android的主分支,JDK6需要通过Kitkat(4.4.4)构建Gingerbread(2.3).
如果您有几个JDK,请确保为java/javac/javadoc选择正确的JDK.您可以使用以下命令:
$ 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构建过程触发的不稳定性.这反过来会导致奇怪的错误.
通过重新下载源代码解决了错误。
因此,如果大家遇到同样的错误,我建议您重新下载源代码。
错误应该消失了。