Szukałem w Google i SO, ale nie mogę znaleźć odpowiedzi.
Po raz pierwszy pracuję z systemem gradle i jestem teraz na etapie generowania podpisanego pliku APK do przesłania do Google Play (projekt jest importowany z eclipse).
Teraz przeczytałem część http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Building-and-Tasks , którą należy dodać signingConfigs
dobuild.gradle
Dodałem te linie i teraz zobaczyłem, że musisz uruchomić, ./gradlew assembleRelease
ale uruchomienie tego w moim cmd zwraca „gradle” nie jest rozpoznawane jako polecenie wewnętrzne lub zewnętrzne, program działający lub plik wsadowy. Próbowałem też kliknąć prawym przyciskiem myszy plik build.gradle i uruchomić go, mówiąc, że się powiodło, ale gdy spojrzę w folderze build / apk, tylko plik o nazwieapp-debug-unaligned.apk
Jak więc wygenerować podpisany plik APK za pomocą systemu Gradle?
Odpowiedzi:
Istnieją trzy sposoby generowania kompilacji zgodnie z
buildType
. (W twoim przypadku jest to wydanie, ale można go nazwać dowolnie).Przejdź do Gradle Task w prawym panelu Android Studio i wyszukaj
assembleRelease
lubassemble(#your_defined_buildtype)
pod Module TasksPrzejdź do opcji Build Variant w lewym panelu i wybierz kompilację z listy rozwijanej
Przejdź do katalogu głównego projektu w Eksploratorze plików i otwórz cmd / terminal i uruchom:
Linux:
./gradlew assembleRelease or assemble(#your_defined_buildtype)
Okna:
gradlew assembleRelease or assemble(#your_defined_buildtype)
Jeśli chcesz wykonać kompilację wydania (tylko), możesz użyć Build> Generate Signed apk. W przypadku innych typów kompilacji dostępne są tylko trzy powyższe opcje.
Możesz znaleźć wygenerowany pakiet APK w swoim
module/build
katalogu z nazwą typu kompilacji.źródło
Możliwe jest pobranie dowolnego istniejącego projektu gradle Android Studio i zbudowanie / podpisanie go z wiersza poleceń bez edycji żadnych plików. To sprawia, że bardzo dobrze jest przechowywać projekt w kontroli wersji, zachowując jednocześnie klucze i hasła:
./gradlew assembleRelease -Pandroid.injected.signing.store.file=$KEYFILE -Pandroid.injected.signing.store.password=$STORE_PASSWORD -Pandroid.injected.signing.key.alias=$KEY_ALIAS -Pandroid.injected.signing.key.password=$KEY_PASSWORD
źródło
Możesz użyć tego kodu
android { ... signingConfigs { release { storeFile file("../your_key_store_file.jks") storePassword "some_password" keyAlias "alias_name" keyPassword "key_password" } } buildTypes { release { signingConfig signingConfigs.release } } ... }
następnie z twojego terminala
dostaniesz apk pod adresem
your-android-app / build / output / apk / your-android-app-release.apk
źródło
build.gradle
sprawdzony pod kontrolą wersji, podobnie jak Twoje hasła! Rozważ wybranie innej trasy, gdy bezpieczeństwo jest ważne w Twoim projekcie.Myślę, że może ci to pomóc https://www.timroes.de/2013/09/22/handling-signing-configs-with-gradle/, a następnie po prostu wybierz
Release
zBuild Variants
źródło
menu budowania> wygeneruj podpisany apk
źródło