我在Android Studio中有2个项目共享一个模块(我在第二个项目中导入第一个项目中的模块),如果我在第一个项目中更改模块,在第二个项目中甚至没有更新“将项目与gradle文件同步”。
如何在第二个项目中自动更新模块,在第一个项目中进行了更改而无需导入模块?
答案 0 :(得分:0)
不要以为这对你有用。每次我在我的图书馆项目中做一些改变时,我都必须做同样的事情。模块间依赖关系之间没有自动同步。它只是在一个项目中,您可以使用gradle同步功能。
因此,您必须通过在模块的build.gradle文件中更改这些项目来使您的库项目成为正在运行的应用程序
1)更改apply plugin:'com.android.library'以应用插件:'com.android.aplication'(小心匹配你使用的gradle插件的命名法)
2)如果您已经对它们进行了评论,则在defaultConfig {和versionCode 1,versionName“1.0”值中声明应用程序ID或默认包名称。
确保应用程序运行正常,然后将其重新集成到您引用此库的主项目中。确保在引用它之前将其转换回库。
一旦作为模块导入到主项目中,在你的模块清单文件中,(不是主项目Manifest)删除这一行
<category android:name="android.intent.category.LAUNCHER" />.
否则,应用程序将显示许多与您拥有的模块数相等的启动器图标。
您需要在主项目清单上使用xmlns:tools =“http://schemas.android.com/tools”命名空间。 然后放入Main项目工具的Application标签:replace =“android:icon,android:theme。这将覆盖子模块的主题和样式。保留主项目的启动器意图,但每个其他模块的清单文件都不能有。。
为了合并清单文件,将其放在gradle.properties文件的底部 manifestmerger.enabled =真 它将合并清单文件资源,如活动和广播接收器等。