2013-07-04 2 views
34

В настоящее время я пытаюсь изучить Gradle для создания Android APK. Как установить параметр в градиенте для создания без знака APK?Build Unsigned APK с Gradle

+0

без знака вы имеете в виду, даже с ключом отладки? Зачем ? – tbruyelle

+1

nope. но без знака – Zul

+0

@tbruyelle Amazon Appstore требует неподписанных апк. – withoutclass

ответ

59

Вам не нужно устанавливать какие-либо опции, просто запустить обычную задачу:

$ gradle assemble 

Это создаст два файла в проекте/строительство/APK/

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

Я попробую и посмотрю. – Zul

+1

Это не сработало для меня. См. Мой ответ ->, который работает. – owe

+0

@rafaello: Я знаю, что это было давно. Но мое решение (ответ выше) больше не работает (почему? ... я не знаю). Теперь я попробовал вам решение, и это сработало для меня. Большое спасибо! Ошибка, которую я сделал в более раннее время, заключалась в том, чтобы установить signConfig во вкусе, который мне нужен без знака ... Теперь я удалил signConfig, и все работает отлично! Это просто раздражает это по командной строке ... – owe

16

Для создания беззнаковое APK сделать следующее:

  • определяет signingConfig с пустым configuations, как это:

    signingConfigs{ 
        unsigned{ 
         storePassword = "" 
         keyAlias = "" 
         keyPassword = "" 
        } 
    } 
    
  • определяет в buildTypes для выпуска версии с беззнаковой Конфигурацией:

    buildTypes{ 
        release{ 
         signingConfig signingConfigs.unsigned 
        } 
    } 
    

Я получаю это от adt-dev group, где Xavier Ducrohet пишет:

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.

ОБНОВЛЕНИЕ 2013-12-19

Как указано выше, это не работает с плагиной версии 0.6.3.

В любом случае можно сгенерировать unsigned APK с градиентом: просто дайте записи signedConfig аромата или buildType пустым. Он должен выглядеть следующим образом:

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

Больше не работает для меня. Но ответ rafaellos неплохой. Добавлено сообщение в ADT Dev Group на G +: https: //plus.google.com/117954254390243608387/posts/N5dTMNS5UGv – owe

+1

Это не работает, так как сборка не будет заявлять, что для обязательных полей не указано значение. версия плагина 0.6.3 – withoutclass

+0

@withoutclass: Ваше право. Я обновил свой ответ и объяснил, как можно сгенерировать unsigned apk с новейшей версией gradle. – owe

5

просто присвоить значение NULL для signingConfig

android { 
    buildTypes { 
    debug { 
     signingConfig null 
    } 
    } 
}