我的公司正在Android Studio上制作几个Android项目,它们都共享一些类似的代码,例如自定义视图,自定义HTTP客户端和许多其他东西.
我面临的问题是,我是Android Studio的新手,我不知道如何将这些公共代码跨多个项目提取到将由这些项目引用的单个Android库模块.
在Eclipse中,它非常简单,只需创建一个新的Android库项目,然后在那里移动代码,并设置Android应用程序项目以引用公共库.
如何通过Android Studio进行重构?
我们公司使用具有共享模块的多个项目的结构.假设您有2个项目,project1和project2,它们是2个独立的Android Studio项目,并且想要共享一些模块.文件夹结构如下:
source-code-root-folder/ + android-studio-project1/ + project1-app-module/ + project1-internal-module/ + android-studio-project2/ + project2-app-module/ + project2-internal-module/ + shared-module1/ + shared-module2/
您可以先从Android studio创建项目和模块.然后像上面的结构一样重新定位文件夹.然后通过将此设置放入以下内容来更新project1中的设置source-code-root-folder/android-studio-project1/settings.gradle
:
include ':android-studio-project1' include ':project1-app-module' include ':project1-internal-module' include ':..:shared-module1' include ':..:shared-module2'
然后打开android-studio-project1/project1-app-module/build.gradle
并更新依赖项:
... dependencies { ... compile project(':project1-internal-module') compile project(':..:shared-module1') compile project(':..:shared-module2') }
这将使project1能够加载内部模块和共享模块.尝试通过在project1中运行build.gradle来同步和构建project1,它应该可以工作.当然,类似的设置可以用于项目2.
希望这可以帮到你.