Android Error Building Signed APK: ไม่พบ keystore.jks สำหรับการลงนาม config 'externalOverride'


89

ฉันได้รับข้อผิดพลาดนี้เมื่อพยายาม Build Signed APK ฉันเพิ่งอัปเกรดเป็น API 23 แต่สร้าง APK: s สำเร็จหลังจากนั้น ฉันสับสน ขอความช่วยเหลือและแนะนำวิธีแก้ปัญหานี้ นี่คือข้อผิดพลาด

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.

และบันทึก

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

นี่คือ 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'


}

คำตอบ:


130

ฉันพบทางออกแล้ว ฉันวางเส้นทางไปยังkeystore.jksไฟล์ผิด ค้นหาไฟล์ในคอมพิวเตอร์ของฉันโดยใช้เส้นทางนั้นและทุกอย่างทำงานได้ดี


2
ฉันได้รับข้อผิดพลาดนี้หลังจากย้ายไฟล์. jks ไปยังตำแหน่งอื่นและลืมอัปเดตใน android studio x) ขอบคุณ
Arbitur

54

ไฟล์ -> ไม่ถูกต้องแคช & รีสตาร์ท ...

สร้าง -> สร้าง APK ที่ลงนาม -> ตรวจสอบเส้นทางในกล่องโต้ตอบ

ตรวจสอบเส้นทางที่เก็บคีย์


13

นี่เป็นปัญหาที่อาจเกิดขึ้นจากการเขียน "ชื่อไฟล์" แทนเส้นทางในขณะที่สร้างไฟล์. jks สร้างใหม่วางไว้บนเดสก์ท็อป (หรือเส้นทางจริงอื่น ๆ ) และสร้าง APK ใหม่


2
Android studio ให้คุณเลือกโฟลเดอร์และนั่นคือปัญหาของฉัน ... ฉันเลือกโฟลเดอร์ไม่ใช่ไฟล์คีย์ ... -1 สำหรับ Android Studio สำหรับการปล่อยให้เลือกบางอย่างจะไม่ทำงาน
Luismi

13

คลิกที่เลือกที่มีอยู่และอีกครั้งเลือกตำแหน่งที่jksของคุณไฟล์อยู่อีกครั้ง

ใส่คำอธิบายภาพที่นี่

ฉันหวังว่าเคล็ดลับนี้เหมาะกับคุณ


1
นี่คือวิธีแก้ปัญหาที่ถูกต้อง
TAHA SULTAN TEMURI

3

ฉันมีปัญหาเดียวกันเพราะฉันไม่มีเส้นทางที่เก็บคีย์ฉันจึงเห็นโซลูชันWaffles.incและมีปัญหาใหม่ใน Android Studio 3.1 สำหรับ mac ของฉันมีปัญหากล่องโต้ตอบ windows เมื่อพยายามสร้างเส้นทางที่เก็บคีย์ใหม่มันเป็นเช่นนี้

ใส่คำอธิบายภาพที่นี่

หากคุณมีปัญหาเดียวกันอย่ากังวลกับหน้าต่างสีดำเพียงแค่พิมพ์ที่เก็บคีย์ใหม่ของคุณแล้วบันทึก


2

TL; DR: ตรวจสอบเส้นทางไปยังkeystore.jksไฟล์ของคุณไฟล์

ในกรณีของฉันนี่คือสิ่งที่เกิดขึ้น:

ฉันย้ายโฟลเดอร์โปรเจ็กต์ของแอพทั้งหมดไปยังตำแหน่งอื่นบนพีซีของฉัน หลังจากนั้นหลายครั้งฉันต้องการสร้างไฟล์ apk ที่เซ็นชื่อ ไม่รู้จักฉันตำแหน่งเริ่มต้นของเส้นทางไปยังของฉันkeystore.jksถูกรีเซ็ตเป็นตำแหน่งที่ไม่ถูกต้องและฉันก็คลิกตกลง เนื่องจากไม่พบที่เก็บคีย์ในเส้นทางที่ฉันเลือกฉันจึงได้รับข้อผิดพลาดนั้น

วิธีแก้ไขคือตรวจสอบว่าพา ธ ไปยังkeystore.jksไฟล์ของฉันถูกต้องหรือไม่


0

เปิด key.properties และตรวจสอบเส้นทางของคุณว่าถูกต้อง (แทนที่จาก \ ถึง /)

ตัวอย่าง: -

แทนที่จาก "storeFile = D: \ Projects \ Flutter \ Key \ key.jks" เป็น "storeFile = D: /Projects/Flutter/Key/key.jks"


0

สำหรับคนที่ลองด้านบนแล้วให้ลองสร้างคีย์ด้วย-keypassและ-storepassตัวเลือกขณะที่ผมกำลังเพียงป้อนหนึ่งของรหัสผ่านเมื่อใช้มันเหมือน React เอกสารพื้นเมืองที่มีคุณ สิ่งนี้ทำให้เกิดข้อผิดพลาดขณะพยายามสร้าง

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


0

บน Linux หรือ Ubuntu คุณต้องใช้เส้นทางที่สมบูรณ์

ตัวอย่างเช่น

/home/ubuntu/.android/keystorname.keystore

ในกรณีของฉันฉันใช้~แทน/home/user/. การใช้ shorthands เช่นด้านล่างไม่ได้ผล

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.