2014-12-28 8 views
16

हर बार जब मैं एंड्रॉइड स्टूडियो (1.02) के साथ एक प्रोजेक्ट चलाता हूं तो यह एक हस्ताक्षरित एपीके उत्पन्न करता है जो .. \ build \ outputs \ apk फ़ोल्डर में स्थित होता है और डिफ़ॉल्ट रूप से नाम प्राप्त करता है "app-debug.apk""app-debug.apk" से उत्पन्न एपीके नाम बदलें

मैं उस डिफ़ॉल्ट नाम को किसी और चीज़ में बदलना चाहता हूं।

क्या यह संभव है? कैसे?

उत्तर

23

पर मॉड्यूल सेटिंग्स में बदल सकते हैं आप applicationVariants का उपयोग करें और build.gradle में आउटपुट फ़ाइल बदल सकता है। आप अपनी जरूरतों के संबंध में नाम भी संशोधित कर सकते हैं।

buildTypes{ 

    applicationVariants.all { variant ->        
     variant.outputs.each { output ->        
      output.outputFile = file("$project.buildDir/apk/test.apk") 
     }                
    } 

} 
+1

यह नहीं रह गया है Gradle 3. – elcuco

2

नाम का 'ऐप' भाग आपके एप्लिकेशन के मॉड्यूल के फ़ोल्डर नाम का उपयोग करता है (डिफ़ॉल्ट 'ऐप' है)। इसे बदलने के तरीके पर नीचे दिए गए लिंक को देखें।
Why is my APK name generic?

'-debug' उपसर्ग कुछ आप प्रकार बिल्ड

0

हो सकता है कि इस सवाल का (और इसके स्वीकार किए जाते हैं जवाब) आप के लिए दिलचस्प हैं: How to set versionName in APK filename using gradle? यह बताती है कि APK नाम में अपने versionName डाल करने के लिए।

आपको स्वीकृत उत्तर के 'अपडेट' भाग का उपयोग करना होगा। इसके अलावा आपको buildName (इस उदाहरण में) build.gradle फ़ाइल में अपने डिफ़ॉल्ट कॉन्फ़िगर में घोषित किया गया है। यह भी काम करता है अगर आप build.gradle में वर्जनकोड को परिभाषित करते हैं (जैसा कि यहां बताया गया है: http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Manifest-entries)।

2

अगर कोई एंड्रॉइड स्टूडियो के बाहर एपीके नाम बदलने के लिए देख रहा है (बस इस फाइल को किसी और को, मेरे मामले में भेजने के लिए), बस ऐप नाम पर राइट क्लिक करें और जो कुछ भी आप चाहते हैं उसे बदलें।

14

में build.gradle (मॉड्यूल: ऐप्लिकेशन):

android { 
    ... 
    defaultConfig { 
     ... 
     setProperty("archivesBaseName", "MyNewAppNameGoesHere") 
    } 
} 

यह archivesBaseName -property संशोधित करके काम करता है और Gradle संस्करण> = 2.0, पिछले 2.1.0 के साथ परीक्षण के लिए काम करता है। gradle3 के लिए

1
defaultConfig { 

    applicationId "com.dcarl661.awesomelayout" 

    minSdkVersion 14 

    targetSdkVersion 25 

    versionCode 1 

    versionName "1.0" 

    //here put it in the section where you have the version stuff 
    setProperty("archivesBaseName", "AwesomeLayout") 

} 
3

समाधान:

android.applicationVariants.all { variant -> 
    variant.outputs.all { 
     outputFileName = applicationId; 
     outputFileName += "-v" + android.defaultConfig.versionName; 
     if (variant.buildType.name == "release") { 
      outputFileName += ".apk"; 
     } else { 
      outputFileName += "-SNAPSHOT.apk"; 
     } 
    } 
} 
+0

के बाद से काम करता है यह स्वीकार किए जाते हैं जवाब होना चाहिए। –

+1

और यदि कोई इस कोड से उलझन में है, तो मूल रूप से आप जो भी स्ट्रिंग चाहते हैं उसे 'outputFileName' सेट कर सकते हैं। –

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