android–RestrictTo不限制使用受限制的方法

android–RestrictTo不限制使用受限制的方法,第1张

概述我已经注释了我的一个库项目的方法作为受限制的@RestrictTo(Scope.LIBRARY)甚至尝试了@RestrictTo(Scope.LIBRARY_GROUP),但这并不妨碍API在项目的其他模块中使用.我甚至尝试在两个模块中设置group=xxx和group=yyy.限制API调用AndroidStudio未显示任何错误/警告.为受限

我已经注释了我的一个库项目的方法作为受限制的@RestrictTo(Scope.liBRARY)甚至尝试了@RestrictTo(Scope.liBRARY_GROUP),但这并不妨碍API在项目的其他模块中使用.
我甚至尝试在两个模块中设置group = xxx和group = yyy.

限制API调用

AndroID Studio未显示任何错误/警告.


为受限制的API启用了事件lint.

我甚至尝试使用./gradlew lint在调用者模块上运行lint

请在Github找到实施

库模块 – 异步任务处理器

尝试设置不同的组 – 模块示例

尝试使用完全不同的包名称 – 模块myapplication

不确定这里有什么问题请帮忙.

解决方法:

从Scope.liBRARY_GROUP注释的角度来看,如果它们具有相同的groupID,则所有模块都是一个库的一部分

Restrict usage to code within the same group of librarIEs. This corresponds to the gradle group ID.

要通过Scope.liBRARY限制API,您还需要使用不同的artifactID

Restrict usage to code within the same library (e.g. the same gradle group ID and artifact ID).

有必要将库添加为外部依赖项.您需要构建和部署库工件:

// follow answer https://stackoverflow.com/a/28361663/3926506 to build artifactgroup = 'com.umang.asyncprocessor'version = '1.0'uploadArchives {    repositorIEs {        mavendeployer {            repository(url: "file://[path to you repository]")            // repository(url: "file://C:/Users/Sergey/.m2/repository")        }    }}

您可以将工件部署到本地maven存储库(不要忘记将mavenLocal()添加到项目构建脚本).

然后在app build.gradle文件中添加编译库的依赖项:

implementation 'com.umang.asyncprocessor:async-task-processor:1.0'

不是来自项目模块:

// it doesn't work!implementation project(path: ':async-task-processor')

我已经使用适当的配置为您的存储库创建了pull request.

总结

以上是内存溢出为你收集整理的android – RestrictTo不限制使用受限制的方法全部内容,希望文章能够帮你解决android – RestrictTo不限制使用受限制的方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1118561.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存