我将在 Maven 上发布 Apache 2.0 Android 库。 与大多数情况一样,它依赖于一些第三方依赖项,通过
build.gradle
导入(例如 androidx 等)。
当您发布应用程序时,第 3 方的版权流程非常简单:您可以在
OssLicensesMenuActivity
中收集所有依赖项,并将其显示在应用程序中的某处。
但是发布库时的流程是怎样的呢?没有任何活动通知用户有关您的第 3 方的信息。那么,是否应该将它们收集到某个文件中,并将该文件包含在版本中?
我已经搜索了很多关于这个主题的内容,但没有找到任何答案,因为我只找到了有关应用程序商店版本的答案,但没有找到 aar 版本的答案。
就这样,谢谢,祝你有美好的一天。
我做了更多研究并自己找到了答案:) 有一些步骤可以确保您在 github 上发布时尊重归属:
添加到 README.md - 在一个专门的部分 - 项目使用的所有第 3 方依赖项及其许可的列表。您可以使用 gradle-licenses-plugin 等工具获取它们的列表。
按照上面的建议生成
pom.xml
。这可以通过 Maven Publish Plugin 自动完成。
如果您要发布应用程序,例如如果您的库项目包含用于测试的应用程序模块,请确保应用程序的用户可以看到此第 3 方列表,即它应该放在可从应用程序的某些活动访问的专用活动中。 此插件将为您生成一个包含所有第三方的
OssLicensesMenuActivity
。您要做的下一件事是在应用程序中的某个位置放置一个 License 按钮,单击该按钮时,会启动一个调用 OssLicensesMenuActivity
的 Intent。我发现最好的解决方案是将许可证按钮放在“设置”屏幕对话框中,其图标始终出现在应用程序顶部栏中。请参阅 nowinandroid 查看他们是如何制作的。