如何自动更新模块?

How I can update a module automatically?

我在 Android Studio 中有 2 个项目共享一个模块(我在第二个项目中导入第一个项目中的模块),如果我更改第一个项目中的模块,则在第二个项目中即使按 "Sync project with gradle files".

项目也不会更新

如何在第一个项目中进行更改而无需导入模块的情况下自动更新第二个项目中的模块?

不要认为这对你有用。每次我在我的图书馆项目中做一些改变时,我都必须做同样的事情。模块间依赖项之间没有自动同步。只有在一个项目中,您才能拥有 gradle 同步功能。

因此,您必须通过在模块 build.gradle 文件中更改这些内容,使您的库项目成为 运行 应用程序

1 ) 将 apply plugin: 'com.android.library' 更改为 apply plugin: 'com.android.aplication' (注意匹配你使用的 gradle 插件的名称)

2) 在 defaultConfig { 和 versionCode 1, versionName "1.0" 值中声明应用程序 id 或默认包名称,如果您已经对它们进行了注释。

确保应用程序运行正常,然后将其重新集成到引用此库的主项目中。确保在引用之前将其转换回库。

一旦作为模块导入到主项目中,在您的模块清单文件中,(不是主项目清单)删除此行

   <category android:name="android.intent.category.LAUNCHER" />. 

否则应用程序将显示与您拥有的模块数量相等的许多启动器图标。

您需要在主项目清单的顶部使用 xmlns:tools="http://schemas.android.com/tools" 命名空间。 然后放入主项目的Application标签tools:replace="android:icon,android:theme。这将覆盖子模块的主题和样式。保持主项目的启动器意图不变但是每个其他模块的清单文件都不能有 .

为了合并清单文件,将其放在 gradle.properties 文件的底部 manifestmerger.enabled=真 它将合并清单文件资源,例如活动和广播接收器等。