-
23
-
24
-
25
-
26
-
27
-
28
注意啦,这里有个坑,我们上面写了
resValue "string","app_name","demo"
- 1
运行之后,AS会自动生成@string/app_name,内容是这样的
- 1
那么问题来了,如果你在app的strings.xml文件也定义了
- 1
编译的时候就会出现问题,因为有2个app_name,所以我们要把app的strings.xml去掉,编译就会正常了。
再注意啦,我们只能在app的build.gradle文件配置各个版本的值,如
`app1 { buildConfigField "in
《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》 浏览器打开:qq.cn.hn/FTe 开源分享
t", “TYPE”, “1” } app2 { buildConfigField “int”, “TYPE”, “2” }`
-
1
-
2
-
3
-
4
-
5
-
6
如果你在其他子模块配置的话,编译时出现乱七八糟的错误!!
如果子模块需要配置的值,可以在公共模块定义静态变量,在app模块取出配置值后,设置到公共模块定义的静态变量中,这样的话各个模块都可以取到!!
修改AndroidManifest.xml文件-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
注意啦,icon属性的值是${app_icon},虽然为红色,但是不要紧,我们在build.gradle文件中加入了这么一段代码:
android { ... lintOptions { checkReleaseBuilds false abortonError false } }
-
1
-
2
-
3
-
4
-
5
-
6
-
7
这里的作用就是即使项目中报错也不会停止打包 。
打包并签名APK我们打包时,就会出现2个app:
我们选择2个app,AS就会帮我们打包2个不同的APK了,就这么简单!!
填坑


