关于 Android 中图书馆的一些问题
Some questions regarding libraries in Android
我正在编写一个 SDK 用于其他应用程序,使他们能够使用我们的服务。显然,我正在为此编写一个库。
注意这里的用户是SDK的用户
问题:
- 我的图书馆中需要 activity。用户是否必须在他们的应用程序中声明我的 activity 才能使用它?我可以在我的库清单中定义 activity,将库导出为
aar
吗?这个有用吗?
- 我的图书馆需要一些权限,比如检查互联网是否可用。像上面的问题,我可以在我的库清单中定义我的权限吗?
aar
还是 jar
?除了 Google 文档中提到的内容之外,有什么区别。 aar
的任何支持问题,idk 像较低的 API 版本不支持它或其他 IDE(Eclipse?还在使用?)不支持它?我的意思是 aar
的一些实际问题,如果有的话。
我也愿意接受任何文档或任何 link 来帮助我。
我过去曾为 Android 开发过,上次是在 Android Studio 刚刚发布 alpha 版时。现在好像是一个新世界:)
I need to have an activity in my library. Do users have to declare my activity in their application to use it? Can I have activity defined in the manifest of my library, export library as aar? Does this work?
用户无需在应用清单中声明库活动。它会起作用。但是不要忘记在您的库样式文件中声明主题并应用于您的活动(库中的活动)。
My library needs some permissions, like to check if internet is available or not. Like the above issue, can I have my permissions defined in manifest of my library?
您可以在库清单中提及您在库模块中需要的所有权限。但是你必须小心询问有风险的权限。假设您的图书馆需要 WRITE_EXTERNAL_STORAGE 许可,那么每当您要调用图书馆 activity 时,您都需要在 运行 时请求此类许可。你会得到更多here
aar or jar? If you are going for pure android then go for aar. You will get more discussion on here
aar or jar?
两者:
- jar(标准非android库),带有android独立代码(java-接口,java-数据结构,通过网络服务的数据传输,业务逻辑,. .....)。
- 好处:无需 android 即可在台式机上对 jar 进行 junit 测试
- 好处:jar 可以在 java 桌面应用程序中重复使用。
- aar(android 特定库)获取 android 特定 data/code(具有请求的互联网权限的清单,activity 具有资源,请求代码 android 权限,android-sqlite-数据库)。
- aar 依赖于 jar
我在我的 android 项目中成功地使用了这个分离 ToGoZip and APhotoManager
我正在编写一个 SDK 用于其他应用程序,使他们能够使用我们的服务。显然,我正在为此编写一个库。
注意这里的用户是SDK的用户
问题:
- 我的图书馆中需要 activity。用户是否必须在他们的应用程序中声明我的 activity 才能使用它?我可以在我的库清单中定义 activity,将库导出为
aar
吗?这个有用吗? - 我的图书馆需要一些权限,比如检查互联网是否可用。像上面的问题,我可以在我的库清单中定义我的权限吗?
aar
还是jar
?除了 Google 文档中提到的内容之外,有什么区别。aar
的任何支持问题,idk 像较低的 API 版本不支持它或其他 IDE(Eclipse?还在使用?)不支持它?我的意思是aar
的一些实际问题,如果有的话。
我也愿意接受任何文档或任何 link 来帮助我。
我过去曾为 Android 开发过,上次是在 Android Studio 刚刚发布 alpha 版时。现在好像是一个新世界:)
I need to have an activity in my library. Do users have to declare my activity in their application to use it? Can I have activity defined in the manifest of my library, export library as aar? Does this work?
用户无需在应用清单中声明库活动。它会起作用。但是不要忘记在您的库样式文件中声明主题并应用于您的活动(库中的活动)。
My library needs some permissions, like to check if internet is available or not. Like the above issue, can I have my permissions defined in manifest of my library?
您可以在库清单中提及您在库模块中需要的所有权限。但是你必须小心询问有风险的权限。假设您的图书馆需要 WRITE_EXTERNAL_STORAGE 许可,那么每当您要调用图书馆 activity 时,您都需要在 运行 时请求此类许可。你会得到更多here
aar or jar? If you are going for pure android then go for aar. You will get more discussion on here
aar or jar?
两者:
- jar(标准非android库),带有android独立代码(java-接口,java-数据结构,通过网络服务的数据传输,业务逻辑,. .....)。
- 好处:无需 android 即可在台式机上对 jar 进行 junit 测试
- 好处:jar 可以在 java 桌面应用程序中重复使用。
- aar(android 特定库)获取 android 特定 data/code(具有请求的互联网权限的清单,activity 具有资源,请求代码 android 权限,android-sqlite-数据库)。
- aar 依赖于 jar
我在我的 android 项目中成功地使用了这个分离 ToGoZip and APhotoManager