Uma*_*ang 5 android android-annotations android-support-library
我已经将我的库项目的方法之一注释为受限制的,@RestrictTo(Scope.LIBRARY)甚至尝试过@RestrictTo(Scope.LIBRARY_GROUP),但这并不能阻止 API 在项目的其他模块中使用。我什至尝试在两个模块中设置group=xxx和。group=yyy
限制API调用
Android Studio 没有显示错误/警告。
我什至尝试使用在调用者模块上运行 lint./gradlew lint
请在Github上找到实现
库模块 - 异步任务处理器
尝试设置不同的组 - 模块示例
尝试使用完全不同的包名称 - module myapplication
不确定这里出了什么问题请帮忙。
从注释的角度来看,Scope.LIBRARY_GROUP如果所有模块具有相同的groupId ,则它们都是一个库的一部分
限制对同一库组内的代码的使用。这对应于 gradle 组 ID。
要限制API,Scope.LIBRARY您还需要使用不同的artifactId
限制使用同一库中的代码(例如相同的 gradle 组 ID 和工件 ID)。
有必要添加库作为外部依赖项。您需要构建并部署您的库工件:
// follow answer /sf/answers/1985316441/ to build
artifact
group = 'com.umang.asyncprocessor'
version = '1.0'
uploadArchives {
repositories {
mavenDeployer {
repository(url: "file://[path to you repository]")
// repository(url: "file://C:/Users/Sergey/.m2/repository")
}
}
}
Run Code Online (Sandbox Code Playgroud)
例如,您可以将工件部署到本地 Maven 存储库(不要忘记添加mavenLocal()到项目构建脚本中)。
然后在应用程序 build.gradle 文件中添加编译库的依赖项:
implementation 'com.umang.asyncprocessor:async-task-processor:1.0'
Run Code Online (Sandbox Code Playgroud)
不是来自项目模块:
// it doesn't work!
implementation project(path: ':async-task-processor')
Run Code Online (Sandbox Code Playgroud)
我已经使用适当的配置创建了对您的存储库的拉取请求。
| 归档时间: |
|
| 查看次数: |
2566 次 |
| 最近记录: |