我将在Android输入层中添加一个新的API。我在构建aosp时遇到一个错误,因为新的API比以前的SDK版本可用。如何解决此问题?
我已经复制了以下错误:
检查API:checkpublicapi-lastjava-Xmx1024m-classpath/usr/lib/jvm/java-1.7.0-openjdk-amd64/bin//javac:out/host/linux-x86/framework/doclava.jar com.google.doclava.apicheck-hide 2-hide 3-hide 4-hide 5-hide 6-hide 24-hide 25-hide 26-hide 27-错误7-错误8-错误9-错误10-错误11-错误12-错误13-错误14-错误15-错误16-错误17-错误18prebuilts/sdk/api/22.txt out/target/common/obj/Packageing/public_api.txt frameworks/base/api/removed.txt out/targek/common/obj/packageing/removed.txt
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/javadoc/ClassDoc
at com.google.doclava.apicheck.ApiFile.parsePackage(ApiFile.java:97)
at com.google.doclava.apicheck.ApiFile.parseApi(ApiFile.java:76)
at com.google.doclava.apicheck.ApiCheck.parseApi(ApiCheck.java:144)
at com.google.doclava.apicheck.ApiCheck.checkApi(ApiCheck.java:112)
at com.google.doclava.apicheck.ApiCheck.main(ApiCheck.java:67)
Caused by: java.lang.ClassNotFoundException: com.sun.javadoc.ClassDoc
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 5 more
您已尝试从中以前发布的内容更改APISDK。请修复上面列出的错误。
make:***[out/target/common/obj/Packageing/checkpublicapi上次时间戳]错误38
如果不是通过执行make clean
和make -j8
来重建整个AOSP,则可能会出现此错误。尝试对AOSP进行干净的构建,因为不进行清理的构建将不会重建任何以前构建的对象和中间体,这些对象和中间体在修改后不必重新构建。
从OpenJDK切换到OracleJava解决了这个问题。