Obecnie staram się nauczyć Gradle budować pakiety APK systemu Android. Jak ustawić opcję gradle, aby utworzyć niepodpisany pakiet APK?Zbuduj niepodpisany pakiet APK z Gradle
Odpowiedz
Nie trzeba ustawić dowolną opcję, wystarczy uruchomić zwykłe zadanie:
$ gradle assemble
To wygeneruje dwa pliki w projekcie/build/apk/
app-debug-unaligned.apk
app-release-unsigned.apk
Wypróbuję to i zobaczę. – Zul
To nie działa dla mnie. Zobacz moją odpowiedź -> która działa. – owe
@rafaello: Wiesz, że to jakiś czas temu. Ale moje rozwiązanie (odpowiedź powyżej) już nie działa (dlaczego? ... nie wiem). Teraz wypróbowałem Twoje rozwiązanie i zadziałało to dla mnie. Wielkie dzięki! Błędem, który popełniłem we wcześniejszym czasie, było ustawienie signConfig w smaku, który chciałem unsigned ... Teraz usunąłem signConfig i wszystko działa dobrze! Jest to denerwujące po linii poleceń ... – owe
Aby wygenerować niepodpisany apk wykonaj następujące czynności:
zdefiniować
signingConfig
z pustymi configuations jak ten:signingConfigs{ unsigned{ storePassword = "" keyAlias = "" keyPassword = "" } }
określić w
buildTypes
do wydania wersji z unsigned Konfiguracja:buildTypes{ release{ signingConfig signingConfigs.unsigned } }
uzyskać to od adt-dev group, gdzie Xavier Ducrohet zapisu:
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
Jak wspomniano wyżej, nie działa to w przypadku wtyczki gradle w wersji 0.6.3.
W każdym razie możliwe jest wygenerowanie niepodpisanego pliku APK ze stopniem: wystarczy, że wpis signingConfig elementu smakowego lub typu buildType będzie pusty. Powinno to wyglądać tak:
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'
}
}
Nie działa już dla mnie. Ale odpowiedź Rafaellosa jest całkiem dobra. Dodano wpis do ADT Dev Group na G +: https: //plus.google.com/117954254390243608387/posts/N5dTMNS5UGv – owe
To nie działa, ponieważ kompilacja nie powiedzie się, stwierdzając, że nie określono żadnej wartości dla wymaganych pól. wersja wtyczki 0.6.3 – withoutclass
@withoutclass: Twoje prawo. Zaktualizowałem swoją odpowiedź i wyjaśniłem, w jaki sposób można wygenerować niepodpisaną apk z najnowszą wersją gradle. – owe
wystarczy przypisać null signingConfig
android {
buildTypes {
debug {
signingConfig null
}
}
}
Przez niepodpisany znaczy nawet z kluczem debugowania? Czemu ? – tbruyelle
nope. wersja wydania, ale niepodpisana: – Zul
@tbruyelle Amazon Appstore wymaga niepodpisanych apków. – withoutclass