Otrzymuję ten błąd, gdy próbuję zbudować podpisany pakiet APK. Niedawno zaktualizowałem do API 23, ale po tym pomyślnie wygenerowałem plik APK. Jestem zmieszany. Proszenie o pomoc i porady, jak rozwiązać ten problem. Oto błąd
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:validateExternalOverrideSigning'.
> Keystore file /Users/me/Desktop/final apps/keystore.jks not
found for signing config 'externalOverride'.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --
debug option to get more log output.
I dziennik
Information:Gradle tasks [:app:assembleRelease]
:app:preBuild UP-TO-DATE
:app:preReleaseBuild UP-TO-DATE
:app:checkReleaseManifest
:app:preDebugBuild UP-TO-DATE
:app:prepareComAndroidSupportAppcompatV72311Library UP-TO-DATE
:app:prepareComAndroidSupportSupportV42311Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesAppindexing810Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesBasement810Library UP-TO-DATE
:app:prepareReleaseDependencies
:app:compileReleaseAidl UP-TO-DATE
:app:compileReleaseRenderscript UP-TO-DATE
:app:generateReleaseBuildConfig UP-TO-DATE
:app:generateReleaseAssets UP-TO-DATE
:app:mergeReleaseAssets UP-TO-DATE
:app:generateReleaseResValues UP-TO-DATE
:app:generateReleaseResources UP-TO-DATE
:app:mergeReleaseResources UP-TO-DATE
:app:processReleaseManifest UP-TO-DATE
:app:processReleaseResources UP-TO-DATE
:app:generateReleaseSources UP-TO-DATE
:app:compileReleaseJavaWithJavac
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
:app:compileReleaseNdk UP-TO-DATE
:app:compileReleaseSources
:app:lintVitalRelease
:app:transformClassesWithDexForRelease
:app:mergeReleaseJniLibFolders
:app:transformNative_libsWithMergeJniLibsForRelease
:app:processReleaseJavaRes UP-TO-DATE
:app:transformResourcesWithMergeJavaResForRelease
:app:validateExternalOverrideSigning FAILED
Error:Execution failed for task ':app:validateExternalOverrideSigning'.
> Keystore file /Users/me/Desktop/final apps/keystore.jks not found for
signing config 'externalOverride'.
Oto mój Gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.waffles.vatsandbats"
minSdkVersion 14
targetSdkVersion 23
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.txt'
}
}
}
dependencies {
compile files('libs/acra-4.7.0-javadoc.jar')
compile files('libs/acra-4.7.0-sources.jar')
compile files('libs/acra-4.7.0.jar')
compile 'com.google.android.gms:play-services-appindexing:8.1.0'
compile files('libs/activation.jar')
compile files('libs/mail.jar')
compile files('libs/additionnal.jar')
compile 'com.android.support:support-v4:23.1.1'
compile 'com.android.support:appcompat-v7:23.1.1'
}
android
android-studio
build
apk
android-signing
Gofry Inc
źródło
źródło
Plik -> Unieważnij pamięć podręczną i uruchom ponownie ...
Kompiluj -> Zbuduj podpisany plik APK -> sprawdź ścieżkę w oknie dialogowym
źródło
Jest to problem, który może powstać podczas zapisywania „nazwy pliku” zamiast ścieżki podczas generowania pliku .jks. Wygeneruj nowy, umieść go na pulpicie (lub dowolnej innej rzeczywistej ścieżce) i ponownie wygeneruj plik APK.
źródło
Kliknij wybierz istniejący i ponownie wybierz lokalizację, w której znajduje się plik jks .
Mam nadzieję, że ta sztuczka zadziała .
źródło
Mam ten sam problem, ponieważ nie mam ścieżki do magazynu kluczy, a następnie widzę rozwiązania Waffles.inc i mam nowy problem W moim Android Studio 3.1 dla komputerów Mac miał problem z oknem dialogowym podczas próby utworzenia nowej ścieżki magazynu kluczy , wygląda to tak
jeśli masz ten sam problem, nie martw się o czarne okna, po prostu wpisujesz nowy plik kluczy, a następnie zapisujesz.
źródło
TL; DR: Sprawdź ścieżkę do swojego
keystore.jks
pliku .W moim przypadku tak się stało:
Przeniosłem folder projektu całej mojej aplikacji do innej lokalizacji na moim komputerze. Dużo później chciałem wygenerować podpisany plik APK. Nieznane mi, domyślna lokalizacja ścieżki do mojej
keystore.jks
została zresetowana do niewłaściwej lokalizacji i kliknąłem OK. Ponieważ nie mógł znaleźć magazynu kluczy na ścieżce, którą wybrałem, wystąpił ten błąd.Rozwiązaniem było sprawdzenie, czy ścieżka do mojego
keystore.jks
pliku jest poprawna.źródło
otwórz key.properties i sprawdź, czy ścieżka jest poprawna. (zamień z \ na /)
przykład: -
zamień z „storeFile = D: \ Projects \ Flutter \ Key \ key.jks” na „storeFile = D: /Projects/Flutter/Key/key.jks”
źródło
Dla osób, które próbowały powyżej, spróbuj wygenerować klucz za pomocą opcji -keypass i -storepass, ponieważ wprowadzałem tylko jedno z haseł podczas uruchamiania go, tak jak w dokumentacji React Native. To spowodowało błąd podczas próby kompilacji.
keytool -keypass PASSWORD1 -storepass PASSWORD2 -genkeypair -v -keystore release2.keystore -alias release2 -keyalg RSA -keysize 2048 -validity 10000
źródło
W systemie Linux lub Ubuntu musisz użyć pełnej ścieżki.
Na przykład
/home/ubuntu/.android/keystorname.keystore
W moim przypadku
~
zamiast/home/user/
. Używanie skrótów, takich jak poniżej, nie działa~/.android/keystorname.keystore ./keystorename.keystore
źródło
Edytowanie ścieżki pliku kluczy rozwiązało mój problem.
źródło