Di norma, quando viene generato un APK si ottiene un file dal nome standard, "app-release.apk" o "app-debug.apk", che poi di norma va modificato per evitare la sovrascrittura di altre app durante il caricamento nei dispositivi o anche solo per la conservazione.
La gestione della compilazione, nei progetti Android, è gestita dal gradle. Per modificare il nome del file generato, quindi, si deve aggiungere qualche riga al build.gradle dell'app (e non del progetto "generale").
Il file, di norma, appare così:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | apply plugin: 'com.android.application' android { compileSdkVersion 25 buildToolsVersion "26.0.1" defaultConfig { applicationId "it.test.example" minSdkVersion 23 targetSdkVersion 25 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:25.3.1' compile 'com.android.support:design:25.3.1' testCompile 'junit:junit:4.12' compile 'com.android.support.constraint:constraint-layout:1.0.2' } |
la sezione importante che andrà modificata, buildTypes > release, è:
1 2 3 4 5 6 | buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } |
All'interno della sezione release bisogna inserire un nuovo "elemento":
1 2 3 4 5 6 7 8 9 10 | applicationVariants.all { variant -> variant.outputs.each { output -> project.ext { appName = 'nomeApplicazione' } def newName = output.outputFile.name newName = newName.replace("app-", "$project.ext.appName-") newName = newName.replace("-release", "") output.outputFile = new File(output.outputFile.parent, newName) } } |
Ovviamente dovete sostituire 'nomeApplicazione' con il nome dell'app!
In questo modo, quando l'APK verrà generato, verrà prodotto con il nome selezionato e non più come "app-release.apk".
Nessun commento:
Posta un commento