meituan / WMRouter

WMRouter是一款Android路由框架,基于组件化的设计思路,有功能灵活、使用简单的特点。
https://tech.meituan.com/meituan_waimai_android_open_source_routing_framework.html
Apache License 2.0
2.31k stars 342 forks source link

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

Open 4dcity opened 3 years ago

4dcity commented 3 years ago

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

Leifzhang commented 3 years ago

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

LuoGuoXin commented 2 years ago

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

Leifzhang commented 2 years ago

并没有看到pr啊

LuoGuoXin commented 2 years ago

https://github.com/Meituan-Dianping/walle/pull/368 这个啊,美团多渠道打包工具的。

Leifzhang commented 2 years ago

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

YouthLee commented 2 years ago

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

YouthLee commented 2 years ago

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

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

xuexixuexijpg commented 2 years ago

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

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

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

george5613 commented 2 years ago

升级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比较科学

ChinaZeng commented 3 weeks ago

为啥我没遇到这个问题。