2016-12-28 32 views

Odpowiedz

1

Można użyć dependsOn na przykład (Twój app/build.gradle):

apply plugin: 'com.android.application' 
apply plugin: 'com.google.firebase.firebase-crash' 

android { 

} 

dependencies { 

} 


task release 

task archiveRelease(type: Copy) { 
    from './build/outputs/apk', './build/outputs/' 
    into "../releases/${rootProject.ext.configuration.version_code}" 
    include('app-release.apk', 'mapping/release/mapping.txt') 
    rename('app-release.apk', "${rootProject.ext.configuration.package}_${rootProject.ext.configuration.version_name}_${rootProject.ext.configuration.version_code}.apk") 
} 

project.afterEvaluate { 

    dependencyUpdates.dependsOn clean 
    assembleRelease.dependsOn clean 

    def publishApkRelease = project.tasks.getByName("publishApkRelease") 
    publishApkRelease.dependsOn assembleRelease 

    release.dependsOn publishApkRelease, firebaseUploadReleaseProguardMapping, archiveRelease 
} 

stworzyłem nowe zadanie o nazwie release. To zależy od publishApkRelease (pochodzi od gradle-play-publisher), firebaseUploadReleaseProguardMapping i archiveRelease. I publishApkRelease zależy od assembleRelease.

W NED po prostu zadzwoń pod numer ./gradlew release, a ona zbuduje twoją wersję wydania, prześle plik APK do Google Play, plik odwzorowania do Firebase i zarchiwizuje kopię pliku apk i odwzorowania.