Android Studio - 使用依赖于另一个Android库的Android库构建Android项目

5
我需要使用Gradle构建一个Android项目,该项目依赖于一个名为A的Android库项目,而A又依赖于另一个名为B的Android库项目。
到目前为止,我有以下内容:
Android项目: build.gradle:
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}

apply plugin: 'android'

dependencies {
    compile project(':LibA')
}

android {
    compileSdkVersion 7
    buildToolsVersion "17.0.0"
}

manifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.cyborg.template"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="7"
        android:targetSdkVersion="7" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name="com.cyborg.template.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

安卓库A:
build.gradle:
buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}

apply plugin: 'android-library'

dependencies {
    compile project(':LibB')
}


android {
    compileSdkVersion 7
    buildToolsVersion "17.0.0"
} 

manifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.lib.project.a"
          android:versionCode="1"
          android:versionName="1.0">

    <uses-sdk
            android:minSdkVersion="7"
            android:targetSdkVersion="7"/>

</manifest>

安卓库 B: build.gradle:
buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}

apply plugin: 'android-library'

android {
    compileSdkVersion 7
    buildToolsVersion "17.0.0"
} 

manifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.lib.project.b"
          android:versionCode="1"
          android:versionName="1.0">

    <uses-sdk
            android:minSdkVersion="7"
            android:targetSdkVersion="7"/>

</manifest>

在尝试构建Android项目时,Android Studio报告了以下错误:
Gradle: Execution failed for task ':LibA:processDebugManifest'.
  > Manifest merging failed. See console for more info.

那个我应该搜索有关错误更多信息的控制台在哪里?
我找到了一些有关这个错误的问题,但似乎并不是和我的情况一样。
有什么启示吗?
谢谢, 亚当。
1个回答

6

该库的清单文件目前必须具有<application />节点,即使它是空的。

这是一个我们将来会去除的限制,但现在只需添加即可。


我在某个地方读到过这个,认为只有LibA需要应用程序节点,一旦我添加了它,它就没有起作用,没想到要添加到所有项目中...我可能太累了。将应用程序节点添加到所有Android库项目中后,现在构建继续进行。 - TacB0sS
如果您没有访问库的源代码怎么办? - Sean Barbeau

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接