Android Studio เซ็นชื่อแก้จุดบกพร่องสร้างไหม ถ้าเป็นเช่นนั้นที่เก็บคีย์จะใช้ทำที่ไหน
Android Studio เซ็นชื่อแก้จุดบกพร่องสร้างไหม ถ้าเป็นเช่นนั้นที่เก็บคีย์จะใช้ทำที่ไหน
คำตอบ:
ตั้งอยู่ในสถานที่เดียวกัน: ~/.android/debug.keystore
หากคุณใช้ Windows ตำแหน่งอาจเป็นดังนี้:
C: \ User \ YourUser \ .android \ debug.keystore
คุณสามารถระบุที่เก็บคีย์การดีบักของคุณเองได้หากต้องการ โซลูชันนี้ยังช่วยให้คุณสามารถจัดเก็บคีย์ของคุณไว้นอกไดเร็กทอรีโปรเจ็กต์และเพลิดเพลินกับระบบอัตโนมัติในกระบวนการเซ็นชื่อ ใช่คุณสามารถไปที่File -> Project Structure
และกำหนดที่เก็บคีย์การลงนามและรหัสผ่านในSigning
แท็บ แต่จะใส่รายการข้อความธรรมดาลงในไฟล์ gradle.build ของคุณซึ่งหมายความว่าอาจมีการเปิดเผยความลับของคุณ (โดยเฉพาะในการคอมมิตที่เก็บข้อมูล) ด้วยโซลูชันนี้คุณจะได้รับการควบคุมการใช้ที่เก็บคีย์ของคุณเองและความมหัศจรรย์ของระบบอัตโนมัติในระหว่างการดีบักและการวางจำหน่าย
1) สร้าง gradle.properties (ถ้าคุณยังไม่มี)
ตำแหน่งของไฟล์นี้ขึ้นอยู่กับระบบปฏิบัติการของคุณ:
/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)
2) เพิ่มรายการชี้ไปที่yourprojectname.properties
ไฟล์
(ตัวอย่างสำหรับ Windows)
yourprojectname.properties=c:\\Users\\<username>\\signing\\yourprojectname.properties
3) สร้างyourprojectname.properties
ไฟล์ในตำแหน่งที่คุณระบุในขั้นตอนที่ 2 ด้วยข้อมูลต่อไปนี้:
keystore=C:\\path\\to\\keystore\\yourapps.keystore
keystore.password=your_secret_password
4) แก้ไขgradle.build
ไฟล์ของคุณให้ชี้ไปที่yourprojectname.properties
ไฟล์เพื่อใช้ตัวแปร
if(project.hasProperty("yourprojectname.properties")
&& new File(project.property("yourprojectname.properties")).exists()) {
Properties props = new Properties()
props.load(new FileInputStream(file(project.property("yourprojectname.properties"))))
android {
signingConfigs {
release {
keyAlias 'release'
keyPassword props['keystore.password']
storeFile file(props['keystore'])
storePassword props['keystore.password']
}
debug {
keyAlias 'debug'
keyPassword props['keystore.password']
storeFile file(props['keystore'])
storePassword props['keystore.password']
}
}
compileSdkVersion 19
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "your.project.app"
minSdkVersion 16
targetSdkVersion 17
}
buildTypes {
release {
}
}
}
}
dependencies {
...
}
5) สนุก! ตอนนี้คีย์ทั้งหมดของคุณจะอยู่นอกรูทของไดเร็กทอรี แต่คุณยังคงมีความสุขกับการทำงานอัตโนมัติสำหรับแต่ละบิลด์
หากคุณได้รับข้อผิดพลาดในไฟล์ gradle.build ของคุณเกี่ยวกับตัวแปร "props" นั่นเป็นเพราะคุณไม่ได้ดำเนินการบล็อก "android {}" ในif
เงื่อนไขแรกที่props
ตัวแปรได้รับมอบหมายดังนั้นเพียงแค่ย้าย android ทั้งหมด {... } ลงในเงื่อนไขที่กำหนดตัวแปรอุปกรณ์ประกอบฉากจากนั้นลองอีกครั้ง
ผมปะติดปะต่อขั้นตอนเหล่านี้ร่วมกันจากข้อมูลที่พบที่นี่และที่นี่
เส้นทางไฟล์ debug.keystore ของ Android Studio ขึ้นอยู่กับตัวแปรสภาพแวดล้อม ANDROID_SDK_HOME
หาก ANDROID_SDK_HOME กำหนดแล้วไฟล์วางไว้ในโฟลเดอร์ย่อยของ SDK ชื่อ.android
เมื่อไม่ได้กำหนดที่เก็บคีย์จะวางไว้ที่พา ธ โฮมของผู้ใช้ในโฟลเดอร์ย่อยเดียวกัน:
- % HOMEPATH% \. android \บน Windows
- $ HOME / .android /บน Linux
ในที่สุดฉันก็สร้างไฟล์ ~ / .android / debug.keystore
ก่อนอื่นพื้นหลัง ฉันได้แล็ปท็อปสำหรับเดินทางเครื่องใหม่ ติดตั้ง Android Studio แล้ว โคลนโครงการ android ของฉันจาก git hub โครงการจะไม่ทำงาน ในที่สุดก็พบว่าไม่ได้สร้าง debug.keystore ... และฉันไม่สามารถหาวิธีสร้าง Android Studio ได้
ในที่สุดฉันก็สร้างโปรเจ็กต์เปล่าใหม่ ... และนั่นก็สร้าง debug.keystore!
หวังว่านี่จะช่วยคนอื่น ๆ ที่มีปัญหานี้
บน Mac คุณจะพบได้ที่นี่: /Users/$username/.android
หากคุณใช้ Windows คุณจะพบสิ่งนี้: File -> Project Structure -> Facets
เลือกโครงการ Android ของคุณและในหน้าต่าง "Facet" Android "คลิก TAB" Packaging "คุณจะพบสิ่งที่คุณต้องการ