微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android Studio 3和Gradle 4.3 – >库模块不再处理本地JAR – >如何处理这个?

升级Android Studio 3.0.0会提到这一点,并没有详细说明如何处理它:

库模块不再处理本地JAR.这是为了加快由库模块代码更改引起的增量构建.

所以我有一个带有库项目的项目.在我的库项目的build.gradle文件中,我有

compile files('libs/com.somelib.somepackage.jar')

我将编译更改为实现,当我尝试运行我的应用程序时,我尝试访问导入com.somelib.somepackage.someClass import语句的所有类都抛出了此包不存在的错误.

我改回编译,我能够构建和运行我的应用程序.

我想遵守新规则,因为不推荐编译,并且将在下一个Gradle版本中删除,所以我该如何去做呢?

解决方法:

如果您尝试从应用程序项目中访问库项目中包含的.jar中的类,则必须使用api而不是实现,否则只能在库项目中访问这些类:

implementation files('libs/com.somelib.somepackage.jar')

应该

api files('libs/com.somelib/somepackage.jar')

如文档所述:

… When a module includes an api dependency, it’s letting Gradle kNow
that the module wants to transitively export that dependency to other
modules, so that it’s available to them at both runtime and compile
time …

参考:
https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html#new_configurations

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐