web-dev-qa-db-fra.com

Construire APK non signé avec Gradle

Actuellement, j'essaie d'apprendre à créer des APK Android. Comment définir une option dans Gradle pour construire un APK non signé? 

39
Zul

Vous n'avez pas à définir d'option, il suffit d'exécuter la tâche habituelle:

$ gradle assemble

Cela générera deux fichiers dans project/build/apk /

app-debug-unaligned.apk 
app-release-unsigned.apk
66
rafaello

Pour générer un apk non signé, procédez comme suit:

  • définissez une signingConfig avec des configurations vides comme ceci:

    signingConfigs{
        unsigned{
            storePassword = ""
            keyAlias = ""
            keyPassword = ""
        }
    }
    
  • définissez dans la buildTypes de votre version. Version avec la configuration non signée:

    buildTypes{
        release{
            signingConfig signingConfigs.unsigned
        }
    }
    

Je reçois ceci du groupe adt-dev , où Xavier Ducrohet écrit:

Le comportement actuel consiste à vérifier que la configuration de la signature est entièrement configuré (*) et si tel est le cas, il génère un fichier APK signé, sinon un fichier APK non signé. 

(*) entièrement configuré à l'heure actuelle signifie la valeur de magasin, alias et mots de passe sont présents, mais ne comprend pas que le le magasin de clés est présent.

MISE À JOUR 2013-12-19 

Comme mentionné sans mention, cela ne fonctionne pas avec le plugin Gradle version 0.6.3.

Quoi qu'il en soit, il est possible de générer une version non signée de l'APK avec gradle: il suffit de laisser l'entrée de signatureConfig d'une variante ou d'un type de construction vide. Ça devrait ressembler à ça:

productFlavors{
    // with this config you should get a "MyProject-flavorUnsigned-release-unsigned.apk"
    flavorUnsigned{
        versionCode = 9
        packageName defaultPkgName
    }
}

buildTypes{
    // with this config you should get a "MyProject-release-unsigned.apk"
    release{
        packageNameSuffix '.release'
    }
}
18
owe

il suffit d'attribuer la valeur null à la signature

Android {
  buildTypes {
    debug {
      signingConfig null
    }
  }
}
7
Prakash

Si vous souhaitez définir un type de génération non signé (comme une version de débogage), procédez comme suit:

myBuildType {
    initWith debug
    ...
}
0
phatmann