Instrukcja dla Android Studio 3.1.3
Jeżeli chcemy wydać naszą aplikację i zbudować ją w wariancie release musimy stworzyć podpisane APK.
Z menu wybieramy Build -> Generate Signed APK
Następnie potrzebny nam jest "key store", którym podpiszemy nasze APK. Prawdopodobnie nie mamy żadnego pod ręką, więc w nowym oknie klikamy na "Create new...":
Teraz uzupełniamy informacje o naszym kluczu:
Key store path - ścieżka do pliku klucza (plik zostanie utworzony automatycznie)
Poniżej mamy hasło key store - trzeba je zapamiętać! tak samo jak hasło samego klucza (będzie potrzebne do konfiguracji pliku gradle).
Ustawiamy jak długo klucz będzie ważny. Domyślnie jest 25 lat 😉 Potem dodajemy dane do certyfikatu (nie musimy ich uzupełniać). Klikamy OK i wracamy do poprzedniego okna:
Mamy już wszystko uzupełnione. Możemy jeszcze dodatkowo zapamiętać hasła przez zaznaczenie "Remember passwords". Klikamy Next:
Tutaj zaznaczamy V1 oraz V2 (Full APK signature) - jest to rekomendowane przez google. Więcej informacji dlaczego można uzyskać klikając w Signature Help
Klikamy Finish. Po chwili powinniśmy zobaczyć że nasz build przebiegł prawidłowo:
Nasze podpisane APK znajdziemy w folderze app/release/ naszego projektu. Można się tam szybko dostać z poziomu Android Studio. W tym celu przechodzimy na zakładkę Project, klikamy Android i zmieniamy na Projects:
Teraz możemy naszą podpisaną aplikację zainstalować na naszym telefonie lub nawet na emulatorze (wystarczy ją przeciągnąć do okna emulatora).
Jeśli jednak chcielibyśmy szybciej budować podpisaną aplikację i automatycznie instalować ją na telefonie musimy jeszcze skonfigurować Build Variant w pliku gradle na poziomie modułu. Najłatwiej zrobić to wybierając Build Variant release i klikając na przycisk "Run app":
W oknie które się pojawi klikamy na przycisk Fix. Będzie on widoczny obok komunikatu błędu na dole okna:
Teraz klikając w plusik:
Wybieramy nazwę, plik klucza który wcześniej stworzyliśmy i uzupełniamy hasła:
Przechodzimy do zakładki Build Types i dla release wybieramy Signing Config:
Klikamy OK i już mamy konfigurację utworzoną i zapisaną w naszym pliku gradle:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
signingConfigs {
config {
keyAlias 'testowyKlucz'
keyPassword 'haslokey'
storeFile file('C:/androidcompl/testowyklucz.jks')
storePassword 'haslostore'
}
}
compileSdkVersion 27
defaultConfig {
applicationId "tutorial.android.com.pl.tutorial"
minSdkVersion 22
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
}
}
}
UWAGA! hasła tutaj nie są chronione - w konfiguracji są podane jawnie. Jednak jeżeli nie planujemy wystawiać gdzieś na zewnątrz naszego repozytorium nie jest to wielkim problemem. W przyszłości dodam wpis jak sobie z tym poradzić 😉
Teraz możemy już uruchamiać aplikacje w wariancie release za pomocą "Run app"