İmzalı APK Oluşturma Android Hatası: 'externalOverride' yapılandırmasını imzalamak için keystore.jks bulunamadı


89

İmzalı APK oluşturmaya çalıştığımda bu hatayı alıyorum. Kısa süre önce API 23'e yükselttim ancak bundan sonra APK'lar oluşturuldu. Kafam karıştı. Yardım istemek ve bu sorunu nasıl çözeceğinizi tavsiye etmek. İşte hata

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.

Ve günlük

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'. 

İşte benim Gradle'ım

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'


}

Yanıtlar:


130

Çözümü buldum. keystore.jksDosyanın yolunu kaybettim . Bilgisayarımdaki dosyayı aradım bu yolu kullandı ve her şey harika çalıştı.


2
.Jks dosyamı başka bir konuma taşıdıktan sonra bu hatayı aldım ve android stüdyosunda güncellemeyi unuttum x) Teşekkürler
Arbitur

54

Dosya -> Önbellekleri Geçersiz Kıl ve Yeniden Başlat ...

Oluştur -> İmzalı APK oluştur -> iletişim kutusundaki yolu kontrol edin

Anahtar deposu yolunu kontrol edin


13

Bu, .jks dosyası oluşturulurken bir yol yerine bir "dosya adı" yazmaktan kaynaklanabilecek bir sorundur. Yeni bir tane oluşturun, Masaüstüne (veya başka bir gerçek yola) koyun ve APK'yi yeniden oluşturun.


2
Android stüdyosu bir klasör seçmenize izin verdi ve bu benim sorunumdu ... Klasörü seçtim, anahtar dosyayı değil ... -1 için Android Studio'nun bir şey seçmesine izin verdiği için çalışmayacak.
Luismi

13

Var olanı seç'e tıklayın ve jks dosyanızın bulunduğu konumu tekrar seçin .

görüntü açıklamasını buraya girin

Umarım bu numara sizin için işe yarar .


1
tam da bu doğru çözüm
TAHA SULTAN TEMURI

3

Aynı problemim var, çünkü anahtar deposu yolum yok, sonra Waffles.inc çözümlerini görüyorum ve yeni bir sorun yaşıyorum Mac için Android Studio 3.1'imde yeni anahtar deposu yolu oluşturmaya çalışırken bir pencere iletişim sorunu vardı , bu şöyle

görüntü açıklamasını buraya girin

Aynı sorunu yaşıyorsanız, siyah pencereler için endişelenmeyin, sadece yeni anahtar deponuzu yazıp kaydedin.


2

TL; DR: keystore.jksDosyanızın yolunu kontrol edin .

Benim durumumda olanlar:

Tüm uygulamamın proje klasörünü bilgisayarımdaki başka bir konuma taşıdım. Daha sonra imzalı bir apk dosyası oluşturmak istedim. Bence bilmediğim, yolumun varsayılan konumu keystore.jksyanlış bir konuma sıfırlanmış ve tamam'a tıklamıştım. Seçtiğim yolda bir anahtar deposu bulamadığı için bu hatayı aldım.

Çözüm, dosyama giden yolun doğru olup olmadığını kontrol keystore.jksetmekti.


0

key.properties dosyasını açın ve yolunuzun doğru olup olmadığını kontrol edin. (\ yerine / ile değiştirin)

örnek: -

dan yerine "storeFile = D: \ Projects \ Flutter \ Anahtar \ key.jks" için "storeFile = D: /Projects/Flutter/Key/key.jks"


0

Yukarıda deneyen insanlar için , React Native belgelerinde olduğu gibi çalıştırırken şifrelerden yalnızca birini girdiğim için -keypass ve -storepass seçenekleriyle anahtarı oluşturmayı deneyin . Bu, oluşturmaya çalışırken hata yapmasına neden oldu.

keytool -keypass PASSWORD1 -storepass PASSWORD2 -genkeypair -v -keystore release2.keystore -alias release2 -keyalg RSA -keysize 2048 -validity 10000


0

Linux veya Ubuntu'da tam yolu kullanmanız gerekir.

Örneğin

/home/ubuntu/.android/keystorname.keystore

Benim durumumda ~yerine kullanıyordum /home/user/. Aşağıdaki gibi stenografi kullanmak işe yaramıyor

~/.android/keystorname.keystore
./keystorename.keystore

0

Anahtar deposu dosyasının yolunu düzenlemek sorunumu çözdü.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.