2013-07-04 15 views
34

Attualmente sto cercando di imparare Gradle per creare APK Android. Come impostare un'opzione in gradle per creare un APK non firmato?Costruisci APK non firmato con Gradle

+0

da non firmato si intende anche con la chiave di debug? Perché ? – tbruyelle

+1

no. versione di rilascio ma non firmata – Zul

+0

@tbruyelle Amazon Appstore richiede apk non firmati. – withoutclass

risposta

59

Non è necessario impostare qualsiasi opzione, basta eseguire il solito compito:

$ gradle assemble 

Questo genererà due file di progetto/costruzione/apk/

app-debug-unaligned.apk 
app-release-unsigned.apk 
+0

lo proverò e vedrò. – Zul

+1

Questo non ha funzionato per me. Vedi la mia risposta -> funziona. – owe

+0

@rafaello: So che è un po 'di tempo fa. Ma la mia soluzione (risposta sopra) non funziona più (perché? ... non lo so). Ora ho provato la soluzione e ha funzionato per me. Molte grazie! L'errore che ho fatto in precedenza è stato quello di impostare un signConfig nel gusto che volevo non firmato ... Ora ho rimosso il signConfig e tutto funziona bene! E 'solo fastidioso per questo oltre la linea di comando ... – owe

16

Per generare un unsigned apk effettuare le seguenti operazioni:

  • definire un signingConfig con configuations vuote come questo:

    signingConfigs{ 
        unsigned{ 
         storePassword = "" 
         keyAlias = "" 
         keyPassword = "" 
        } 
    } 
    
  • definiscono alla buildTypes per il suo rilascio la versione con la configurazione senza segno:

    buildTypes{ 
        release{ 
         signingConfig signingConfigs.unsigned 
        } 
    } 
    

ottengo questo dal adt-dev group, dove Xavier Ducrohet scrittura:

The current behavior is to check that the signing config is fully configured(*) and if it is, it generates a signed APK, otherwise an unsigned APK.

(*) fully configured right now means the value for store, alias and passwords are present, but does not include that the keystore is present.

UPDATE 2013-12-19

Come detto di seguito, questo non funziona con il plugin gradle versione 0.6.3.

In ogni caso è possibile generare un APK senza segno con gradle: basta lasciare vuota la voce signingConfig di flavor o buildType. Esso dovrebbe essere simile a questo:

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' 
    } 
} 
+0

Non funziona più per me. Ma la risposta di rafaellos è abbastanza buona. Aggiunto un post a ADT Dev Group su G +: https: //plus.google.it/117954254390243608387/posts/N5dTMNS5UGv – owe

+1

Questo non funziona poiché la compilazione fallirà affermando che non ci sono valori specificati per i campi richiesti. plug-in versione 0.6.3 – withoutclass

+0

@withoutclass: il tuo diritto. Ho aggiornato la mia risposta e spiegato come è possibile generare un apk non firmato con la più recente versione gradle. – owe

5

solo assegnare null a signingConfig

android { 
    buildTypes { 
    debug { 
     signingConfig null 
    } 
    } 
} 
Problemi correlati