2013-10-28 10 views
9

में थीम घोषणा-Styleable मैं निम्नलिखित build.gradle फ़ाइल का उपयोग कर एक Android परियोजना संकलन करने की कोशिश की:Gradle त्रुटि जब दो पुस्तकालयों

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.6.+' 
    } 
} 
apply plugin: 'android' 

repositories { 
    maven { 
     url 'https://github.com/Goddchen/mvn-repo/raw/master/' 
    } 
    mavenCentral() 
} 

android { 
    compileSdkVersion 18 
    buildToolsVersion "18.1.1" 

    defaultConfig { 
     minSdkVersion 8 
     targetSdkVersion 18 
    } 
} 

dependencies { 
     compile 'com.android.support:appcompat-v7:18.0.+' 
     compile 'com.android.support:support-v4:18.0.+' 

     compile 'com.google.android.gms:play-services:3.2.+' 

     compile 'com.facebook.android:facebook:3.5.+' 
     compile 'com.android:volley:1.0' 
     compile 'org.jraf:android-switch-backport:1.0' 

} 

लेकिन यह निम्न त्रुटि के साथ विफल:

:TestProject:processDebugResources 
/home/lukas/apps/Splots_test/apps/TestProject/build/res/all/debug/values/values.xml:1622: error: Error: No resource found that matches the given name: attr 'switchStyle'. 
:TestProject:processDebugResources FAILED 

FAILURE: Build failed with an exception. 

* What went wrong: 
Execution failed for task ':TestProject:processDebugResources'. 
> Could not call IncrementalTask.taskAction() on task ':TestProject:processDebugResources' 

* Try: 
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. 

BUILD FAILED 

उत्पन्न मूल्यों को देखने के बाद। Xml मैंने पाया कि यह एंड्रॉइड-स्विच-बैकपोर्ट के घोषित-शैली योग्य "थीम" अनुभाग को याद कर रहा था।

इस अनुभाग में Appcompat और AndroidSwitchBackport में परिभाषित किया गया है, लेकिन इनमें से केवल एक ही शामिल किया गया है अंतिम फ़ाइल में:

[email protected]:~/apps/Splots_test/apps$ grep -r 'declare-styleable name="Theme"' . 
./TestProject/build/exploded-bundles/ComAndroidSupportAppcompatV71800.aar/res/values/values.xml: <declare-styleable name="Theme"> 
./TestProject/build/exploded-bundles/OrgJrafAndroidSwitchBackport10.aar/res/values/values.xml: <declare-styleable name="Theme"> 

वहाँ किसी भी तरह से Gradle यह दोनों पुस्तकालयों की विशेषताओं को मर्ज करना चाहिए बताने के लिए है?

उत्तर

1

जैसा कि आप जानते हैं, मैं स्विच backport पुस्तकालय डेवलपर हूं, और इस समस्या नहीं रह गया है संस्करण 1.3.1 के बाद से मौजूद है ।

(सुनिश्चित करें कि आप अपग्रेड करते समय सही रेपो शामिल करें, क्योंकि यह अब मैवेन सेंट्रल नहीं है)।

+0

धन्यवाद, यह वास्तव में सराहना की है :) –

5

मैं भी इस समस्या में भागता हूं। मुझे लगता है कि आपको एंड्रॉइड-स्विच-बैकपोर्ट लाइब्रेरी में attrs.xml फ़ाइल को बदलने की आवश्यकता है।

बदलने का प्रयास करें इस

<declare-styleable name="Theme"> 
     <attr name="switchStyle" format="reference" /> 
     <attr name="switchPreferenceStyle" format="reference" /> 
</declare-styleable> 
इस के लिए

:

<declare-styleable name="AppTheme"> 
     <attr name="switchStyle" format="reference" /> 
     <attr name="switchPreferenceStyle" format="reference" /> 
</declare-styleable> 
+0

इसका मतलब पुस्तकालय को दोबारा बनाना है? – GorillaApe

+1

@ पर्फ हां, हमें करना है। क्योंकि एंड्रॉइड-स्विच-बैकपोर्ट लाइब्रेरी और ऐप-कंपैट लाइब्रेरी के बीच एक नामकरण संघर्ष है। – Koruk

+0

@ कोरुक आप इसे कैसे करते हैं यदि आपने इसे अपने build.gradle से इंस्टॉल किया है? आपको लाइब्रेरी को डाउनलोड करने की ज़रूरत है? कहाँ से? –

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