组件化开发,module和app的注意点

组件化开发,module和app的注意点,第1张

1,app compile project加入module后,module的权限,资源文件,权限,依赖引入,application属性权限,注意冲突

application属性权限主包没引入的,module不能引入,超权限控制无法编译,

依赖引入,要是module已经引入所需依赖,主包不需引入,避免冲突

多module开发,其中的一个为入口module,其他module为独立的“应用”(library)

1.在原有的项目导入另外个项目的module为主项目的次module,即在A项目中添加一个启动B项目的入口

1)右击B项目的module,选择copy path;

2)右击A项目,New—Module—Import Gradle Project,把上一步拷贝的路径粘贴,一直到完成;

2.build.gradle文件

1)主module配置为 apply plugin: 'com.android.application',次module为 apply plugin: 'com.android.library';

2)次module不需要applicationId

3)dependencies依赖需放入到次module

4)都加上 multiDexEnabled true

5)主module导入次module :compile project(path: ':module2')

6).build.gradle中设置的compileSdkVersion buildToolsVersion minSdkVersion targetSdkVersion统一

3.AndroidManifest.xml文件

1)主module 在application上加上tools:replace="android:name,allowBackup,icon,theme,label"

   同时在顶端加上xmlns:tools="http://schemas.android.com/tools";主要是避免多module的name,icon,theme等冲突

2)次module把application下的android:name,android:icon,android:label删除,否则安装后,在桌面上会有多个图标;

3)次module去掉activity的主过滤器  <intent-filter>

4.资源文件的冲突

jar包的冲突,检查是否重复,在module中都存在了;

类名、文件名等,重复可去修改其中一个,避免重复,资源索引出问题。

基本上就是这些,主要是rebuild后看报的什么错,具体的问题具体去分析处理。

本想添加一个aar到基础module中,结果引用该module的库全部报

1)添加arr到app module ->libs目录

2) 在build.gradle中配置 (注:repositories和android、dependencies处在同一级别的目录下。如不添加该配置,同步依赖会失败,提示 Failed to resolve)

3)引入

注:当项目存在多个module时,如果想在某个library module中依赖aar文件时,那么其它所有直接或间接依赖该library module的module中都应声明build.gradle文件中进行统一配置声明。否则会同步依赖失败,提示 Failed to resolve

1、方法一

3)在依赖aar文件的library module下的build.gradle文件中添加依赖如下:

2、方法二(简单粗爆)

1)在project的build.gradle文件中统一配置如下:

3)在依赖aar文件的library module下的build.gradle文件中添加依赖如下:

1、主mouble

2、子mouble


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11238508.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存