7
votes

Générez un nom apk comme nom de package dans Android Studio

Android Studio générera un nom APK par défaut comme application (version | Débogou) .apk.
Comment générer un nom de fichier apk identique au nom du package de l'application comme com.example-débog.apk .


2 commentaires

Ce lien peut aider Stackoverflow.com/questions / 22126299 / ...


Le lien ci-dessus est utile


5 Réponses :


4
votes

Essayez de mettre cela dans la construction de votre module.Gradle

applicationVariants.all { variant ->
    variant.outputs.each { output ->
        def file = output.outputFile
        def appId = android.defaultConfig.applicationId
        def fileName = appId + "-" variant.buildType.name +".apk"
        output.outputFile = new File(file.parent, fileName)
    }
}


3 commentaires

Cela ne crache que un apk pour moi et ne crache pas un APK pour chaque variante de construction.


Bien sûr que non, si vous voulez APK pour une autre variante, vous devez d'abord changer la variante de construction. Ou utilisez une commande pour construire toutes les versions. Ce code ne modifie que le nom de l'APK, rien de plus.


Utiliser './gradlew assembler' dans le terminal doit cracher tous les buildtypes de toutes les variantes. Sinon, vous pouvez faire './Gradlew assemblezase' ou './gradlew assemblledebug' pour ces buildypes spécifiques



2
votes

Vous pouvez voir cette Lien . ou option illogique de renommer votre version | débog.apk code> avec nom ce que vous voulez dans le navigateur de fichiers.

Ce code peut être utile pour vous: p>

buildTypes {
release {
    minifyEnabled false
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    applicationVariants.all { variant ->
        variant.outputs.each { output ->
            def formattedDate = new Date().format('yyyyMMddHHmmss')
            def newName = output.outputFile.name
            newName = newName.replace("app-", "$rootProject.ext.appName-") //"MyAppName" -> I set my app variables in the root project
            newName = newName.replace("-release", "-release" + formattedDate)
            //noinspection GroovyAssignabilityCheck
            output.outputFile = new File(output.outputFile.parent, newName)
        }
    }
}
    debug {
    }
}


0 commentaires

0
votes

Créer un fichier nommé CustomName.Gradle dans le répertoire de niveau supérieur du projet.put ce code dans celui-ci. xxx

puis dans la gradle de votre module d'application Ajouter ce code < Pré> xxx


0 commentaires

16
votes

Vous pouvez le faire sans utiliser d'autres tâches, régler les archives archivesbasename code>.

Par exemple: p> xxx pré>

sortie: p>

project.ext.set("archivesBaseName", "com.example" );


2 commentaires

Vous pourrez peut-être accéder à un nom rootproject et l'utiliser comme ceci: project.ext.set ("archivesbasename", rootproject.getname () + "-" + defaultconfig.versionName);


Malheureusement, cela ne fait pas échouer lorsque vous travaillez avec des variantes comme ArchivesBasename est global pour tous



0
votes

Cela peut vous aider. Ce code créera un nom d'application comme appliquid-version.apk code> ou appliquid-débog.apk code> dans lequel ApplicationID peut être votre nom de package.

buildTypes {

    applicationVariants.all { variant ->
        variant.outputs.each { output ->
            def newName = output.outputFile.name
            newName = newName.replace("app-", applicationId)
            output.outputFile = new File(output.outputFile.parent, newName)
        }
    }
}


0 commentaires