2015-06-20 20 views
11

Tôi thường xuyên sử dụng archivesbasename để đổi tên gói ứng dụng đầu ra của mình nhưng vì sử dụng plugin dịch vụ google mà nó đang bị bỏ qua. Tôi có thể làm gì để làm việc này một lần nữa không.Gradle ArchivesBaseName bị bỏ qua khi sử dụng plugin GoogleServices

Đính kèm đầy đủ build.gradle của tôi bên dưới, hãy biết ơn đối với bất kỳ con trỏ nào.

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 
} 

mức án 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

Bạn đang sử dụng phiên bản plugin gradle nào? – Logain

+0

Phiên bản 1.2.3, đã thêm cấp dự án build.gradle, vì bạn có thể thấy nó không làm gì đặc biệt. – CodeChimp

Trả lời

6

này ngừng làm việc cho tôi với android Plugin gradle phiên bản 1.3.0 sử dụng 1.3.1 giải quyết nó. classpath 'com.android.tools.build:gradle:1.3.1'

Bên trong build.gradle của bạn cho ứng dụng bạn có thể có.

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

Nếu bạn muốn thay đổi tên APK dựa trên loại bản dựng.

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

Điều đó đã khắc phục được nó, một chút chờ đợi để họ sửa nó nhưng ít nhất tôi có thể xóa mã đổi tên hacky của tôi ngay bây giờ. Cảm ơn câu trả lời. – CodeChimp

+1

Tôi đã cập nhật lên 1.3.1 và nó vẫn không hoạt động. bất kỳ ý tưởng? – nadavfima

+0

Tôi đã cập nhật câu trả lời của mình để bao gồm một ví dụ về việc sử dụng nó. – Simon

Các vấn đề liên quan