Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

升级到 AGP 7.0后,因jdk 11中没有 tools.jar 导致编译失败 #112

Open
4dcity opened this issue Sep 9, 2021 · 9 comments
Open

Comments

@4dcity
Copy link

4dcity commented Sep 9, 2021

项目升级到 AGP 7.0之后,jdk也必须升级到 11,但是jdk9以后已经移除了 tools.jar
导致sync时compiler模块的这句脚本报 NullPointerException
compileOnly files(Jvm.current().getToolsJar())
不知有没有办法解决这个问题

@Leifzhang
Copy link
Collaborator

这位大佬哦 暂时还没有做700适配呢 700适配的情况下 transform也会出比较多的问题 但是后续会考虑调整的

@LuoGuoXin
Copy link

那个打包工具也是啊,有人已经提了pr,麻烦官方合并发布一下,谢谢,适配7.0的

@Leifzhang
Copy link
Collaborator

并没有看到pr啊

@LuoGuoXin
Copy link

Meituan-Dianping/walle#368
这个啊,美团多渠道打包工具的。

@Leifzhang
Copy link
Collaborator

emmmmmmmmmm 作者都离开美团好久了 这个基本已经是个兴趣工程了

@YouthLee
Copy link

我AGP是 7.0.4 gradle 7.0.2 没遇到你说的问题啊, 我有点慌

@YouthLee
Copy link

emmmmmmmmmm 作者都离开美团好久了 这个基本已经是个兴趣工程了

@Leifzhang 大佬 那个打包的搞一搞啊,接手过来啊

@xuexixuexijpg
Copy link

emmmmmmmmmm 作者都离开美团好久了 这个基本已经是个兴趣工程了

@Leifzhang 大佬 那个打包的搞一搞啊,接手过来啊

建议自己学AGP和源码,开源出来的很多停留在AGP7.0之前的,要不就不用高版本了或继续等大佬吧哈哈

@george5613
Copy link

george5613 commented Jun 17, 2022

升级AGP 7.0.3 后无缝运行并且使用这个库而言
copy jdk1.8中的tools.jar 然后在项目中compileOnly files("libs/tools.jar") ,其他的依赖问题可以自行引入guava commons-io commons-codec,当然不建议拷贝tools.jar。。。此方法亲测可行
还有方案可能需要找到android studio jvm-args设置方案,添加add-exports去打开内部的java.compiler module的代码添加到classpath,这个没尝试成功
最近的建议是,没啥特别的需求的话可以先用copy tools.jar的方法work around
消息称2022年底AGP8.0将直接移除Transform,到时候直接改Transform到ASM比较科学

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants