我有一个Android Studio项目
它包含登录活动,包含相对style
,manifest
,IntentService
和其他内容。
我想在许多其他应用中插入这个小项目,最好的方法是什么? 模块是正确的方式吗?
最终目标仍然是易于维护,例如,如果有一天服务器应该更改URL,我就不必在使用此登录活动的任何应用程序中进行更改: - )
答案 0 :(得分:6)
您需要在单独的module:
中提取这些组件模块是一个可以编译的独立功能单元, 独立运行,测试和调试。
模块包含其特定任务所需的所有内容: 源代码,构建脚本,单元测试,部署描述符和 文档。但是,模块存在并且仅在模块中起作用 项目的背景。
然后,include that module在使用它的所有项目中。
实际上,您可以在独立的"library" project中创建模块。对于使用它的所有项目,add it as a dependency。
更进一步,您可以在maven central,jcenter和其他公共存储库上将开源库项目的输出发布为.aar
或.jar
。然后其他人也可以使用你的模块。
创建android库项目时需要记住的一些要点:
库的资源(字符串,布局,xmls,图像)将与构建时的最终项目的资源合并。您的模块的R
课程仍将保留在您模块的软件包名称下。
库的清单文件中的某些属性可能会合并到最终项目的属性(如<application>
的属性)。因此,库模块应该有一个最小的清单文件,最多包含包名。
您可以在库模块中包含示例应用程序项目,但不会使用库重新分发示例应用程序项目。对于使用您的库构建应用程序的人来说,这会给您带来麻烦。
答案 1 :(得分:0)
我认为您需要做的是先导出原始项目:
文件&gt;&GT;导出
然后转到新项目并导入原始项目。 别忘了修改setContentView()方法以指向您的原始活动(您导入的活动)
最后不要忘记你的意图方法! 如果您有任何问题请告诉我,我会为您创建一个详细的答案,但我认为您会好的!