android studio 3.1: construire:gradle:3.1.0 - chemin Absolu ne sont pas pris en charge lors de la configuration d'un nom de fichier de sortie
Lorsque j'utilise Android Studio 3.0 et j'ai utiliser la prochaine version de Android Plugin Gradle dans project/build.gradle
:
classpath 'com.android.tools.build:gradle:3.0.1'
Et c'est un travail très bien.
Après que j'ai mise à jour Android Studio 3.1 , comme résultat que j'ai mise à jour Android Plugin Gradle :
classpath 'com.android.tools.build:gradle:3.1.0'
Et maintenant j'obtiens l'erreur dans mon app/build.gradle
:
def releaseFileName = "${rootProject.name}_${defaultConfig.versionName}.apk"
outputFileName = new File(rootProject.projectDir.absolutePath + "/release", releaseFileName.toLowerCase())
Erreur:
Chemin absolu ne sont pas pris en charge lors de la configuration d'un nom de fichier de sortie
J'ai besoin de mettre de sortie apk (app-release.apk
) dans le chemin d'accès spécifique au projet. Dans le dossier MyProject/release/app-relese.apk
. Comment je peux faire cela?
Vous devez vous connecter pour publier un commentaire.
Je pense que l'utilisation d'"./../../../" est mauvaise solution... je utiliser de la commune de gradle script pour plusieurs projets et je veux faire du code de l'indépendance de la profondeur de la sortie dir.
Après quelques recherches j'ai trouvé cette solution pour plugin gradle 3.1.2:
Juste au cas où cette aide, cette erreur signifie que maintenant, il n'est pas permis d'avoir des chemins absolus pour tout ce qui concerne l'apk du nom de fichier. Je peux vous joindre mon AVANT et APRÈS pour obtenir ce dont j'avais besoin (d'avoir l'APK dans le projet/app/build/dossier:
AVANT de gradle 3.1.0
Ou APRÈS gradle 3.1.0
J'ai connu le même problème. Je n'ai pas l'effort de comprendre exactement ce qui s'est passé mais il y a une solution simple.
Il suffit de retirer la racine de votre nouveau fichier et la confiance que le cadre, c'est à dire changer votre code de
Que c'était suffisant pour nous. Nous ne nous soucions pas où l'apk va, seul le nom de l'apk pour une saveur particulière.
J'ai trouvé la solution:
Et maintenant le fichier de sortie
app-release.apk
succès créé enMyProject/release/app-relese.apk
Le plus simple solution est comme ci-dessous:
Assembler/concaténer votre nouveau nom de fichier:
Puis, simplement réaffecter.
Utilisation
variant.packageApplicationProvider.get().outputDirectory
pour éviter d'avertissement "variantOutput.getPackageApplication() est obsolète"