9

से माइग्रेट करने के बाद प्रोजेक्ट फ़ाइल संरचना बदलें Iclipse से एक प्रोजेक्ट माइग्रेट कर दिया है। प्रोजेक्ट में अभी भी ग्रहण से "पुरानी" प्रोजेक्ट फ़ाइल संरचना है (http://developer.android.com/tools/projects/index.html देखें)। फाइल सिस्टम स्ट्रक्चर को नए सिस्टम में स्वचालित रूप से बदलने का कोई तरीका है (http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Project-Structure देखें)? अगर मैं http://developer.android.com/sdk/installing/studio-tips.html प्रोजेक्ट स्ट्रक्चर सेक्शन को सही ढंग से समझता हूं तो माइग्रेट करते समय इसे खुश होना चाहिए था लेकिन यह (शायद मेरे द्वारा एक गलती) नहीं था। तो एक बार फिर मेरे प्रश्न: क्या फ़ाइल संरचना को स्वचालित रूप से बदलना संभव है? यदि नहीं, तो मुझे क्या बदलना है? मुझे build.gradle में क्या बदलना है? अप्रचलित फ़ाइलें/निर्देशिका क्या हैं?एक्लिप्स से एंड्रॉइड स्टूडियो ग्रेडल संरचना

धन्यवाद!

स्टीफ़न

+1

स्टैक ओवरफ्लो में आपका स्वागत है! अगर आपको कोई प्रतिक्रिया मिलती है तो कृपया इसे वोट दें। अगर प्रतिक्रिया सफलतापूर्वक आपके प्रश्न का उत्तर देती है, तो कृपया जवाब स्वीकार करने के लिए इसके आगे के हरे रंग के चेक चिह्न पर क्लिक करें। कृपया एक अच्छा प्रश्न लिखने के बारे में सलाह के लिए stackoverflow.com/questions/how-to-ask पर जाएं – buzeeg

उत्तर

4

ग्रहण से Android स्टूडियो, कोई परिवर्तन परियोजना संरचना पर किया गया है करने के लिए अपनी परियोजना पलायन है। केवल बदल गया है कि नई .iml और .gradle फ़ाइलें हैं।

आपका जावा कोडproject/src/फ़ोल्डर में रहता है, और (AndroidStudio से एक नया बनाया परियोजना में) की तरह project/src/main/java फ़ोल्डर में ले जाया गया नहीं किया गया है।

आपकाAndroidManifestफ़ाइल भीproject/फ़ोल्डर में रहता है और (AndroidStudio से एक नया बनाया परियोजना में) की तरह project/src/main/ फ़ोल्डर में ले जाया गया नहीं किया गया है। Configuring the Structure

AndroidStudio में एक नया बनाया परियोजना, निर्माण के sourceSets भाग के लिए:

प्रवास में build.gradle फ़ाइल आदेश पुरानी संरचना Gradle दस्तावेज में वर्णन किया गया है के साथ संकलित करने के लिए सक्षम होने के लिए में अनुकूलित है। Gradle फ़ाइल:

sourceSets { 
    main.java.srcDirs = ['src/java'] 
    main.resources.srcDirs = ['src/resources'] 
} 

ग्रहण से किसी माइग्रेट किए गए परियोजना के लिए, build.gradle फ़ाइल के sourceSets बात यह है कि होना चाहिए:

android { 
    sourceSets { 
     main { 
      manifest.srcFile 'AndroidManifest.xml' 
      java.srcDirs = ['src'] 
      resources.srcDirs = ['src'] 
      aidl.srcDirs = ['src'] 
      renderscript.srcDirs = ['src'] 
      res.srcDirs = ['res'] 
      assets.srcDirs = ['assets'] 
     } 

     instrumentTest.setRoot('tests') 
    } 
} 

इसके साथ, आप अपनी परियोजना संरचना को अनुकूलित करने और तदनुसार निर्माण करने में सक्षम होना चाहिए।

+0

ग्रहण मुख्य रूप से स्टूडियो में माइग्रेट क्यों नहीं कर रहा है? क्या कारण है? फायदे नुकसान? – powder366

+1

मुझे यकीन नहीं है लेकिन मुझे लगता है कि यह रेट्रोमैपटेबिलिटी के लिए है: शायद चींटी विचार-शैली परियोजनाओं (मुख्य फ़ोल्डर के साथ) को संकलित करने में सक्षम नहीं है। आप इसे मैन्युअल रूप से कर सकते हैं और फिर अपनी build.gradle फ़ाइल को सरल बना सकते हैं – buzeeg

+1

मैंने इसे मैन्युअल रूप से किया, थोड़ा मुश्किल लेकिन यह काम किया (तुलना के लिए स्टूडियो में एक डमी प्रोजेक्ट जेनरेट किया गया), चुनने के विकल्प के साथ अच्छा होगा ... धन्यवाद .. – powder366

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