2015-06-20 11 views
11

का उपयोग करते समय अनदेखा किया गया है मैंने अपने आउटपुट एपीके का नाम बदलने के लिए नियमित रूप से archivesbasename का उपयोग किया है, लेकिन Google-सेवाएँ प्लगइन का उपयोग करने के बाद इसे अनदेखा किया जा रहा है। क्या यह कुछ भी है जो मैं फिर से काम करने के लिए कर सकता हूं।Gradle ArchivesBaseName GoogleServices प्लगइन

नीचे मेरा पूरा build.gradle संलग्न, किसी भी पॉइंटर्स के लिए आभारी रहें।

apply plugin: 'com.android.application' 
apply plugin: 'com.google.gms.google-services' 

project.archivesBaseName = "MyApp"; 

android { 
    compileSdkVersion 22 
    buildToolsVersion "22.0.1" 

    defaultConfig { 
     applicationId "org.codechimp.myapp" 
     versionCode 205 
     versionName "2.4" 
     minSdkVersion 14 
     targetSdkVersion 22 
    } 

    productFlavors { 
     prod {    
     } 

     dev { 
      versionName = android.defaultConfig.versionName + " dev" 
     } 
    } 

    signingConfigs { 
     debug { 
      storeFile file("debug.keystore") 
      storePassword "android" 
      keyAlias "androiddebugkey" 
      keyPassword "android" 
     } 
     release } 

    buildTypes { 
     debug { 
      debuggable true 
      signingConfig signingConfigs.debug 
     } 
     release { 
      minifyEnabled true 
      shrinkResources true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
      signingConfig signingConfigs.release 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:support-annotations:22.2.0' 
    compile 'com.google.android.gms:play-services-drive:7.5.0' 
    compile 'com.google.android.gms:play-services-plus:7.5.0' 
    compile 'com.google.android.gms:play-services-gcm:7.5.0' 
    compile 'com.google.android.gms:play-services-ads:7.5.0' 
    compile 'com.google.android.gms:play-services-identity:7.5.0' 
    compile 'com.android.support:support-v4:22.2.0' 
    compile 'com.android.support:appcompat-v7:22.2.0' 
    compile 'com.android.support:recyclerview-v7:22.2.0' 
    compile 'com.afollestad:material-dialogs:0.6.2.4' 
    compile 'com.google.code.gson:gson:2.3' 
    compile 'com.github.andrew-codechimp:androidutils:1.19' 
} 

def Properties props = new Properties() 
props.load(new FileInputStream(file('signing.properties'))) 

if (props.containsKey('STORE_FILE') && props.containsKey('STORE_PASSWORD') && 
     props.containsKey('KEY_ALIAS') && props.containsKey('KEY_PASSWORD')) { 
    android.signingConfigs.release.storeFile = file(props['STORE_FILE']) 
    android.signingConfigs.release.storePassword = props['STORE_PASSWORD'] 
    android.signingConfigs.release.keyAlias = props['KEY_ALIAS'] 
    android.signingConfigs.release.keyPassword = props['KEY_PASSWORD'] 
} else { 
    android.buildTypes.release.signingConfig = null 
} 

परियोजना स्तर build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules. 

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:1.2.3' 
     classpath 'com.google.gms:google-services:1.3.0-beta1' 

     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
     maven { 
      url "https://jitpack.io" 
     } 
    } 
} 
+0

आप किस प्लगइन संस्करण का उपयोग कर रहे हैं? – Logain

+0

संस्करण 1.2.3, प्रोजेक्ट लेवल build.gradle जोड़ा गया, क्योंकि आप देख सकते हैं कि यह कुछ खास नहीं कर रहा है। – CodeChimp

उत्तर

6

यह एंड्रॉयड Gradle प्लगइन संस्करण 1.3.0 के साथ मेरे लिए काम कर 1.3.1 यह निराकरण उपयोग बंद कर दिया। classpath 'com.android.tools.build:gradle:1.3.1'

ऐप के लिए अपने build.gradle के अंदर आपके पास यह हो सकता है।

android { 
    //... 
    defaultConfig { 
     //... 
     archivesBaseName = "myprojectname_v${versionName}_${versionCode}" 
    } 
    //... 
} 

यदि आप बिल्ड प्रकार के आधार पर एपीके नाम बदलना चाहते हैं।

android { 
    //... 
    buildTypes { 
     special { 
      //... 
      archivesBaseName = "myprojectname_special_v${versionName}_${versionCode}" 
     } 
    } 
    //... 
} 
+0

यह तय करता है कि इसे ठीक करने के लिए प्रतीक्षा करें, लेकिन कम से कम मैं अपने हैकी नाम कोड को हटा सकता हूं। जवाब के लिए धन्यवाद। – CodeChimp

+1

मैंने 1.3.1 को अपडेट किया और यह अभी भी काम नहीं कर रहा है। कोई विचार? – nadavfima

+0

मैंने अपने उपयोग का एक उदाहरण शामिल करने के लिए अपना जवाब अपडेट कर दिया है। – Simon

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