2013-07-19 14 views
5

पर निर्भर करता है का निर्माण मैं Gradle एक Android परियोजना जो एक 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> 

एंड्रॉयड लाइब्रेरी एक:

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> 

एंड्रॉयड लाइब्रेरी बी: ​​

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> 

एंड्रॉयड परियोजना बनाने की कोशिश करते हैं, तो निम्न त्रुटि एंड्रॉयड स्टूडियो से बताया जाता है:

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

कहां है कि कंसोल हूँ मैं त्रुटि के बारे में अधिक जानकारी के लिए खोज करने के लिए लगता है?

मैं इस त्रुटि के संबंध में कुछ सवाल मिल गया है, लेकिन यह मेरा रूप में एक ही मामला है प्रतीत नहीं होता।

ज्ञान?

धन्यवाद, एडम।

उत्तर

6

लाइब्रेरी के लिए प्रकट फ़ाइलों में वर्तमान में <application /> नोड होना चाहिए, भले ही यह खाली हो।

यह एक प्रतिबंध है जिसे हम किसी बिंदु पर हटा देंगे लेकिन अभी के लिए, बस इसे जोड़ें।

+0

मैं इस कहीं पढ़ा और सोचा था कि केवल LIBA अनुप्रयोग नोड की जरूरत है, एक बार मैं इसे जोड़ने के बाद, काम नहीं किया, सभी परियोजनाओं में जोड़ने के लिए मेरे मन को पार नहीं किया ... मैं शायद बहुत था थका हुआ। सभी एंड्रॉइड-लाइब्रेरी परियोजनाओं में एप्लिकेशन नोड जोड़कर काम किया, और अब निर्माण जारी है। – TacB0sS

+0

यदि आपके पास लाइब्रेरी के स्रोत कोड तक पहुंच नहीं है तो क्या होगा? –

संबंधित मुद्दे