RestrictTo 不限制受限方法的使用
RestrictTo not restricting usage of restricted method
我已经将我的库项目的一个方法注释为受限 @RestrictTo(Scope.LIBRARY)
甚至尝试了 @RestrictTo(Scope.LIBRARY_GROUP)
但这并不能阻止 API 在项目的其他模块中使用。
我什至尝试在两个模块中设置 group=xxx
和 group=yyy
。
正在限制 API 通话
Android 工作室未显示 error/warning。
为受限 APIs 启用了事件 lint。
我什至在调用者模块上使用 ./gradlew lint
尝试过 运行 lint
请在 Github
上查找实现
库模块 - 异步任务处理器
尝试设置不同的组 - 模块示例
尝试使用完全不同的包名 - module 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 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")
}
}
}
您可以将工件部署到本地 Maven 存储库(不要忘记将 mavenLocal()
添加到项目构建脚本)。
然后在应用build.gradle文件中添加来自编译库的依赖:
implementation 'com.umang.asyncprocessor:async-task-processor:1.0'
不是来自项目模块:
// it doesn't work!
implementation project(path: ':async-task-processor')
我已使用适当的配置创建 pull request 到您的存储库。
我已经将我的库项目的一个方法注释为受限 @RestrictTo(Scope.LIBRARY)
甚至尝试了 @RestrictTo(Scope.LIBRARY_GROUP)
但这并不能阻止 API 在项目的其他模块中使用。
我什至尝试在两个模块中设置 group=xxx
和 group=yyy
。
正在限制 API 通话
Android 工作室未显示 error/warning。
我什至在调用者模块上使用 ./gradlew lint
请在 Github
上查找实现库模块 - 异步任务处理器
尝试设置不同的组 - 模块示例
尝试使用完全不同的包名 - module 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 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")
}
}
}
您可以将工件部署到本地 Maven 存储库(不要忘记将 mavenLocal()
添加到项目构建脚本)。
然后在应用build.gradle文件中添加来自编译库的依赖:
implementation 'com.umang.asyncprocessor:async-task-processor:1.0'
不是来自项目模块:
// it doesn't work!
implementation project(path: ':async-task-processor')
我已使用适当的配置创建 pull request 到您的存储库。