引入过程:
一.直接引入其他工程作为新的module
通过File->New->Import Module即可
如果引入的是一个完整可打包的工程的话moduleName会与主Module重名导致:app不能被引入,改为其他名字即可。如果引入工程有依赖其他module则也会如图默认选中引入。
注:这样并没有把新module作为library添加到主Module中,这样引入的是仍然可打包的module
一、module转单独可打包apk
1.在project structure中先将主module的引用去掉;
2.将要打包的module的build.gradle第一行的apply从library改成appliction,同时添加个applicationId;
3.要打包的module下的androidManifest.xml中添加启动activity(一般测试功能的activity即可),同时在application节点下添加基本属性:
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
在右侧的gradle选择处clean 下module:
然后选择打包的module就可以打包了:
二、可打包的module转依赖module:
1.去掉可打包的module下的androidmanifest.xml的application节点下的配置及启动的activity(测试activity):
2.去掉可打包的build.gradle下的applicationId及修改apply为library:
3.主module下添加module依赖:
然后就可以把完成功能的module打包进app里边了。
把能单独打包的app转成可依赖的module时注意看看它的application里边初始化的一些东西转移到主module里边,同时是不是根目录下的gradle文件是不是也要复制些库依赖。
注:上面的把可打包的module转成可依赖的module的方法同时也可以把单独的app打包成aar包,然后引入到想引入工程的app 中。
优势:把单独的module转成可打包的module可以开发单独的module下的功能,且编译打包速度比较快,在工程比较大时建议使用。