2013-07-19 61 views
5

tôi cần phải xây dựng sử dụng Gradle một dự án Android mà phụ thuộc vào một dự án Thư viện Android A, mà phụ thuộc vào một dự án khác B. Thư viện AndroidAndroid Studio - Xây dựng một dự án Android với thư viện Android mà phụ thuộc vào một thư viện Android

Cho đến nay tôi có như sau:

dự án 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> 

Android Library 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> 

Android Library 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> 

Trong khi cố gắng xây dựng các dự án Android, lỗi sau được báo cáo từ Android studio:

Gradle: Execution failed for task ':LibA:processDebugManifest'. 
    > Manifest merging failed. See console for more info. 

đâu console là Tôi cho rằng để tìm kiếm thêm thông tin về lỗi?

Tôi đã tìm thấy một số câu hỏi liên quan đến lỗi này, nhưng nó có vẻ không giống trường hợp của tôi.

Giác ngộ?

Xin cảm ơn, Adam.

Trả lời

6

Tệp kê khai cho thư viện hiện phải có nút <application />, ngay cả khi nút trống.

Đó là hạn chế mà chúng tôi sẽ xóa tại một số điểm nhưng hiện tại, chỉ cần thêm nó.

+0

Tôi đọc điều này ở đâu đó và nghĩ rằng chỉ LibA cần nút ứng dụng, một khi tôi đã thêm nó, nó đã không hoạt động, đã không vượt qua tâm trí của tôi để thêm vào tất cả các dự án ... Tôi có lẽ quá mệt mỏi. thêm nút ứng dụng vào tất cả các dự án Android-Thư viện đã hoạt động, và bây giờ quá trình xây dựng vẫn tiếp tục. – TacB0sS

+0

Điều gì sẽ xảy ra nếu bạn không có quyền truy cập vào mã nguồn của thư viện? –

Các vấn đề liên quan