我正在尝试从源代码构建AOSP (做了一些修改),但是我的构建停止于
[ 0% 1/35196] JarJar: out/target/common/obj/JAVA_LIBRARIES/conscrypt_intermediates/classes-jarjar.jar
FAILED: /bin/bash -c "java -jar out/host/linux-x86/framework/jarjar.jar process external/conscrypt/jarjar-rules.txt out/target/common/obj/JAVA_LIBRARIES/conscrypt_intermediates/classes-full-debug.jar out/target/common/obj/JAVA_LIBRARIES/conscrypt_intermediates/classes-jarjar.jar"
Error: Could not find or load main class com.tonicsystems.jarjar.Main
ninja: build stopped: subcommand failed.
make: *** [build/core/ninja.mk:149: ninja_wrapper] Error 1我也修不好它。我的源是托管的here,而外部/jarjar的路径是googlesource上的普通路径。
有人能帮上忙吗?
发布于 2018-06-08 11:27:17
我也有同样的问题,直到我意识到这是由于com.tonicsystems.jarjar.Main所在的错误路径造成的。在~/android/system,JarJar的com.tonicsystems.jarjar类位于:
external/jarjar/src/main/com/tonicsystems它应该在什么时候
external/jarjar/src/main/java/com/tonicsystems就像它的源码(来自GitHub)
src/main/java/com/tonicsystems/jarjar
P.S:我不得不创建 external/jarjar/src/main/java目录,然后移动源。
发布于 2017-04-29 07:54:36
我以前遇到过一个AOSP分支(我想是Qualcomm的树)-这是由于生成jar文件文件列表的Makefile片段没有正确处理"sort“实用程序的本地化版本(除了应该删除的副本之外,还会导致重要的类文件被删除)。
我不记得所有的细节或适当的修复,但最初的变通方法是在构建时简单地禁用本地化。
rm -rf out
export LANG=C
export LC_ALL=C
export LC_COLLATE=C
. build/envsetup.sh
lunch whatever
make droidcore -j8发布于 2021-10-27 21:00:32
对我来说解决这个问题的是一些与jarjar本身完全无关的东西。
我在Ubuntu 20.04上构建AOSP 7.1.1。Ubuntu20.04上的默认python命令指向python3 [1],但是AOSP7.1.1使用python (实际上是Python2.7.5)构建。
我使用sudo apt install python更新了我的系统,它将python命令正确地链接到python2,而不是python3。在此之后,我成功构建了。
AOSP是python附带的,位于prebuilts/python目录下,我仍然不明白为什么构建系统不指向那个python版本。
编辑
我在调整系统以使用正确的python版本时遇到了更多问题,最终我不得不添加python和python3作为替代。
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 1$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 2$ sudo update-alternatives --config pythonpython2https://stackoverflow.com/questions/39358014
复制相似问题