首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓构建: JarJar无法找到或加载主类

安卓构建: JarJar无法找到或加载主类
EN

Stack Overflow用户
提问于 2016-09-07 05:20:11
回答 3查看 1.2K关注 0票数 4

我正在尝试从源代码构建AOSP (做了一些修改),但是我的构建停止于

代码语言:javascript
复制
[  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上的普通路径。

有人能帮上忙吗?

EN

回答 3

Stack Overflow用户

发布于 2018-06-08 11:27:17

我也有同样的问题,直到我意识到这是由于com.tonicsystems.jarjar.Main所在的错误路径造成的。在~/android/system,JarJar的com.tonicsystems.jarjar类位于:

代码语言:javascript
复制
external/jarjar/src/main/com/tonicsystems

它应该在什么时候

代码语言:javascript
复制
external/jarjar/src/main/java/com/tonicsystems

就像它的源码(来自GitHub)

src/main/java/com/tonicsystems/jarjar

P.S:我不得不创建 external/jarjar/src/main/java目录,然后移动源。

票数 3
EN

Stack Overflow用户

发布于 2017-04-29 07:54:36

我以前遇到过一个AOSP分支(我想是Qualcomm的树)-这是由于生成jar文件文件列表的Makefile片段没有正确处理"sort“实用程序的本地化版本(除了应该删除的副本之外,还会导致重要的类文件被删除)。

我不记得所有的细节或适当的修复,但最初的变通方法是在构建时简单地禁用本地化。

代码语言:javascript
复制
rm -rf out
export LANG=C
export LC_ALL=C
export LC_COLLATE=C
. build/envsetup.sh
lunch whatever
make droidcore -j8
票数 1
EN

Stack Overflow用户

发布于 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版本时遇到了更多问题,最终我不得不添加pythonpython3作为替代。

  1. $ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 1
  2. $ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 2
  3. $ sudo update-alternatives --config python
  4. Select python2
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39358014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档