将app添加为外部librairy时不允许使用清单属性(android)

时间:2018-03-20 15:41:32

标签: android gradle manifest

我目前是Android新手。我尝试使用另一个应用程序项目作为外部库创建一个应用程序。目前,这两个项目(仅通过Android Studio创建的两个应用程序)位于相同的文件夹中:

Project1

  |--build.gradle

  |--settings.gradle

Project2

  |--build.gradle

  |--settings.gradle

要将project2添加为外部库,我刚刚添加到Project1/settings.gradle

include ':MyDependency'
project(':MyDependency').projectDir =  new File('D:/Projects/Project1', '../Project2')

并在应用程序的build.gradle中:compile project(':MyDependency')

然后,Project2出现在项目窗口中,所以我猜它找到了项目。

当我尝试与gradle同步时,我会收到消息

  

“错误:无法解析':app @ debugAndroidTest / compileClasspath'的依赖关系:无法解析项目:MyDependency。”以及compileClassPath中每个其他任务的相同消息。

当我点击显示详细信息时,会显示以下消息:

  

“无法找到项目的匹配配置:MyDependency:所有耗材配置都没有属性。”

我尝试了为每个问题提供的每个解决方案,(buildTypes,clear caches等),但它不起作用。

我还说过,当我打开Project2 / app / src / main / AndroidManifest.xml时,这里不允许使用大多数属性。奇怪的是因为如果我在Android Studio上的另一个窗口中打开Project2,我就不会收到此消息(并且它构建完美)。再次,我尝试在互联网上给出的每个解决方案,这没有解决我的问题。我认为这是问题的原因。

有没有人有想法?

我正在使用Android Studio 3.0.1和gradle 4.1。

非常感谢!

问候:)

2 个答案:

答案 0 :(得分:0)

您可以将Project2更改为Project1中的另一个模块作为android library。在项目build.gradle中,您将include ':app', ':library-module'放在应用程序依赖项中:

dependencies {
    compile project(":library-module")
}

更多信息:https://developer.android.com/studio/projects/android-library.html

答案 1 :(得分:0)

老兄,你需要创建一个框架,在两个应用程序之间共享代码