ฉันหา keytool ของ Android ไม่พบ


265

ฉันพยายามที่จะปฏิบัติตาม Android ทำแผนที่การกวดวิชาและได้ส่วนนี้ที่ฉันได้รับคีย์ API

ฉันพบของฉันแล้วdebug.keystoreแต่ดูเหมือนจะไม่เป็นkeytoolแอปพลิเคชันในไดเรกทอรี:

C:\Documents and Settings\tward\\.android>ls
adb_usb.ini      avd       debug.keystore  repositories.cfg androidtool.cfg  ddms.cfg  default.keyset

นอกจากนี้ยังไม่มีkeytoolในไดเรกทอรีนี้:

C:\Android\android-sdk-windows\tools>ls
AdbWinApi.dll     apkbuilder.bat       etc1tool.exe         mksdcard.exe
AdbWinUsbApi.dll  ddms.bat             fastboot.exe         source.properties
Jet               dmtracedump.exe      hierarchyviewer.bat  sqlite3.exe
NOTICE.txt        draw9patch.bat       hprof-conv.exe       traceview.bat
adb.exe           emulator.exe         layoutopt.bat        zipalign.exe
android.bat       emulator_NOTICE.txt  lib

ฉันใช้Eclipseเป็นเครื่องมือแก้ไขของฉันและเชื่อว่าฉันได้ดาวน์โหลด SDK ล่าสุดทั้งหมดแล้ว

ผมทำอะไรผิดหรือเปล่า?


12
ยิ่งใหญ่ โพสต์คำถามที่สองของฉันและฉันได้รับ "Tumbleweed" สำหรับตราแรกของฉัน !!! กรุณาเยาะเย้ยฉันเบา ๆ :-)
ทิม

ยอดเยี่ยมคุณหาวิธีที่จะปล่อย SHA1 บน windows ได้
ไหม

คำตอบ:


441

keytoolมาพร้อมกับ Java SDK คุณควรหามันในไดเรกทอรีที่มีjavacฯลฯ


153
รับแล้ว: C: \ Program Files \ Java \ jdk1.6.0_14 \ bin ขอบคุณ
ทิม

5
สามารถค้นหาได้ใน JRE ... ขอบคุณ
Nick.T

4
เคล็ดลับที่มีประโยชน์คือบันทึกผลลัพธ์ไปยังไฟล์เพื่อให้คุณสามารถหยิบกุญแจได้ เพียงเพิ่มสิ่งนี้ในท้ายที่สุด:> somefilename.txt
Attaque

3
ใน C: \ Program Files \ Java \ jdk1.7.0_79 \ bin
Jean-François

18
Mine อยู่ในC:\Program Files\Android\Android Studio\jre\bin(ใช้ Studio ไม่ใช่ Eclipse)
Tim Krins

99

โอเคดังนั้นโพสต์นี้จากเมื่อหกเดือนที่แล้ว แต่ฉันคิดว่าฉันจะเพิ่มข้อมูลบางอย่างที่นี่สำหรับผู้ที่สับสนเกี่ยวกับธุรกิจคีย์ API / MD5 ทั้งลายนิ้วมือ ฉันใช้เวลาคิดออกดังนั้นฉันคิดว่าคนอื่น ๆ ก็มีปัญหาด้วยเช่นกัน (เว้นแต่ฉันจะเป็นคนที่น่าเบื่อ)

คำแนะนำเหล่านี้สำหรับ Windows XP แต่ฉันคิดว่ามันคล้ายกับ Windows รุ่นอื่น ดูเหมือนว่าผู้ใช้ Mac และ Linux จะมีเวลากับเรื่องนี้ง่ายกว่าดังนั้นฉันจะไม่พูดกับพวกเขา

ดังนั้นเพื่อใช้ mapviews ในแอป Android ของคุณ Google ต้องการเช็คอินกับพวกเขาเพื่อให้คุณสามารถลงชื่อออกในข้อตกลงเงื่อนไขการใช้บริการ API ของ Android Maps ฉันคิดว่าพวกเขาไม่ต้องการให้คุณสร้างแอพ GPS แบบเลี้ยวต่อเลี้ยวเพื่อแข่งขันกับพวกเขาหรือบางสิ่งบางอย่าง ฉันไม่ได้อ่านมันจริงๆ อุ่ย

ดังนั้นไปที่http://code.google.com/android/maps-api-signup.htmlและตรวจสอบ พวกเขาต้องการให้คุณทำเครื่องหมายที่ช่อง "ฉันได้อ่านและยอมรับข้อกำหนดและเงื่อนไข" แล้วป้อนลายนิ้วมือ MD5 ของใบรับรองของคุณ Wtf นั้นคุณอาจจะพูดว่า ฉันไม่รู้ แต่ทำในสิ่งที่ฉันพูดและแอพ Android ของคุณจะไม่เจ็บ

ไปที่ Start> Run และพิมพ์ cmd เพื่อเปิดพรอมต์คำสั่ง คุณต้องไปที่ไดเรกทอรีด้วยไฟล์ keytool.exe ซึ่งอาจแตกต่างกันเล็กน้อยขึ้นอยู่กับรุ่น JDK ที่คุณติดตั้ง Mine อยู่ในC:\Program Files\Java\jdk1.6.0_21\binแต่ลองเรียกดูไปยังโฟลเดอร์ Java และดูเวอร์ชันที่คุณมีและเปลี่ยนเส้นทางตามนั้น

หลังจากไปที่ C: \ Program Files \ Java \ <"รุ่น JDK ของคุณที่นี่"> \ bin ในพรอมต์คำสั่งให้พิมพ์

keytool -list -keystore "C:/Documents and Settings/<"your user name here">/.android/debug.keystore"

ด้วยคำพูด แน่นอน <"ชื่อผู้ใช้ของคุณที่นี่"> จะเป็นชื่อผู้ใช้ Windows ของคุณเอง

(หากคุณมีปัญหาในการค้นหาเส้นทางนี้และคุณกำลังใช้ Eclipse คุณสามารถตรวจสอบหน้าต่าง> การตั้งค่า> Android> สร้างและตรวจสอบ "ที่เก็บคีย์ดีบั๊กเริ่มต้น")

กด Enter และมันจะแจ้งให้คุณใส่รหัสผ่าน เพียงแค่กด Enter และ voila ที่ด้านล่างคือลายนิ้วมือ MD5 ของคุณ พิมพ์ลายนิ้วมือของคุณลงในกล่องข้อความที่หน้า Android Maps API Signup และกดสร้างรหัส API

และมีกุญแจของคุณในทุกสิริด้วยเลย์เอาต์ตัวอย่าง XML ที่มีประโยชน์พร้อมกับคีย์ของคุณที่ป้อนให้คุณคัดลอกและวาง


คุณช่วยให้ฉันปวดหัวหรือสองคน
zabawaba99

ไม่ควรเป็นแบ็กสแลชแทนที่จะเป็นฟอร์เวิร์ดสแลชใน Windows
Ryan R

หากคุณใช้ jdk1.7 ให้เพิ่มตัวแก้ไข-v
Ryan R

คนอื่น ๆ ควรอธิบายเช่นเดียวกับคุณ!
K - ความเป็นพิษใน SO กำลังเพิ่มขึ้น

@malfunction มีวิธีรับ SHA1 สำหรับการวาง
บิล

17

ตกลงฉันทำสิ่งนี้ในระบบ Windows 7 32 บิต

ขั้นตอนที่ 1 : ไปที่ - C: \ Program Files \ Java \ jdk1.6.0_26 \ bin - และเรียกใช้ jarsigner.exe ก่อน (ดับเบิลคลิก)

ขั้นที่ 2 : ค้นหา debug.keystore ในกรณีของฉันมันเป็น - C: \ Users \ MyPcName \ .android

ขั้นตอนที่ 3 : พร้อมรับคำสั่งเปิดและไปที่ dir - C: \ Program Files \ Java \ jdk1.6.0_26 \ bin และให้คำสั่งต่อไปนี้: keytool -list -keystore "C: \ Users \ MyPcName \ .android \ debug.keystore"

ขั้นตอนที่ 4 : มันจะขอรหัสผ่าน Keystore ในขณะนี้ (ซึ่งฉันกำลังหา ... : -?)

ปรับปรุง: ตกลงในรหัสผ่านกรณีของฉันคือ ´android´ - (ฉันกำลังใช้ Eclipse สำหรับ android ดังนั้นฉันจึงพบได้ที่นี่) ทำตามขั้นตอนใน eclipse : Windows> การตั้งค่า> android> build> ..
(ดูในฟิลด์'Debug Keystore´ เริ่มต้น )



คำสั่งเพื่อเปลี่ยนรหัสผ่านที่เก็บคีย์ (ดูที่นี่): เปลี่ยนรหัสผ่านที่เก็บคีย์




10

คำตอบ 4 ขั้นตอนด้านบนใช้งานได้สำหรับฉัน แต่จะส่งคืนรหัส SH1 -... แต่ Google ขอรหัส MD5 เพื่อสร้างคีย์ API ของคุณ

เราต้องการเพียงแค่เพิ่ม '-v' ในคำสั่งในขั้นตอนที่ 3 เช่น:

อัปเดตคำตอบ 4 ขั้นตอนแล้ว

ตกลงฉันทำสิ่งนี้ในระบบ Windows 7 32 บิต

ขั้นตอนที่ 1 : ไปที่ - C: \ Program Files \ Java \ jdk1.7.0 \ bin - และเรียกใช้ jarsigner.exe ก่อน (ดับเบิลคลิก)

ขั้นที่ 2 : ค้นหา debug.keystore (ใน Eclipse: Windows / การตั้งค่า / Android / สร้าง .. ) ในกรณีของฉันมันเป็น - C: \ Users \ MyPcName.android

ขั้นตอนที่ 3 : พร้อมรับคำสั่งเปิดและไปที่ dir - C: \ Program Files \ Java \ jdk1.7.0 \ bin และให้คำสั่งต่อไปนี้: keytool -v -list -keystore "C: \ Users \ MyPcName.android \ debug.keystore"

ขั้นตอนที่ 4 : มันจะถามรหัสผ่าน Keystore ทันที ค่าเริ่มต้นคือ 'android'


6

ฉันไม่เคยติดตั้ง Java แต่เมื่อคุณติดตั้ง Android Studio มันมีเวอร์ชั่นเป็นของตัวเองในไดเรกทอรี Android นี่คือที่ตั้งของเหมือง เส้นทางของคุณอาจคล้ายกัน หลังจากนั้นคุณสามารถวาง keytool ในเส้นทางของคุณหรือเพียงแค่เรียกใช้จากไดเรกทอรีนั้น

C:\Program Files\Android\Android Studio\jre\bin

2

ดูเหมือนว่าจะยากกว่าการค้นหาสำหรับ OSX โพสต์ที่ขัดแย้งกันมากเกินไป

สำหรับ MAC OSX Mavericks Java JDK 7 ให้ทำตามขั้นตอนเหล่านี้เพื่อค้นหาkeytool:

ตรวจสอบให้แน่ใจก่อนติดตั้งJava JDK:

http://docs.oracle.com/javase/7/docs/webnotes/install/mac/mac-jdk.html

จากนั้นพิมพ์คำสั่งนี้ลงในพร้อมท์คำสั่ง:

/usr/libexec/java_home -v 1.7

มันจะคายบางสิ่งเช่น:

/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home

keytooljavacตั้งอยู่ในไดเรกทอรีเดียวกันกับ เช่น:

/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin

จากไดเรกทอรีคุณสามารถใช้binkeytool


2

หากคุณใช้ Android Studio สำหรับ Windows เพื่อสร้างที่เก็บคีย์และลงชื่อ. apk ให้ทำตามขั้นตอนเหล่านี้:

1) Build> สร้าง APK ที่ลงชื่อแล้ว

2) เลือก "สร้างใหม่ ... " เลือกเส้นทางไปยังที่เก็บคีย์และป้อนข้อมูลที่จำเป็นทั้งหมด

3) หลังจากสร้างที่เก็บคีย์ (your_keystore_name.jks) ของคุณแล้วคุณจะใช้มันเพื่อสร้าง apk ที่ลงชื่อครั้งแรกของคุณที่ปลายทางที่คุณเลือก

ฉันไม่เห็นว่าจำเป็นต้องใช้เครื่องมือคำสั่งหากคุณมี IDE เช่น Android Studio


อาจใช้เพื่อค้นหาลายนิ้วมือ SHA1
Iyas

0

ในความเป็นจริงการส่งออก eclipse จะเรียก

java -jar android-sdk-windows\tools\lib\sdklib.jar com.android.sdklib.build.ApkBuilderMain

จากนั้นเรียกใช้ com.android.sdklib.internal.build.SignedJarBuilder


0

สิ่งหนึ่งที่ไม่ได้กล่าวถึงที่นี่ (แต่ไม่ให้ฉันเรียกใช้ keytool พร้อมกัน) คือคุณต้องเรียกใช้ Command Prompt ในฐานะผู้ดูแลระบบ

แค่อยากจะแบ่งปัน ...


นี่น่าจะเป็นความเห็นและไม่ใช่คำตอบ
Ian R. O'Brien

1
ฉันเห็นด้วยควรเป็นความคิดเห็นถึงแม้ว่าจะเป็นโชคไม่ดี แต่คุณมีความคิดเห็นไม่มากพอ!
Joel Balmer

0

ไม่จำเป็นต้องใช้บรรทัดคำสั่ง

หากคุณ FILE-> "ส่งออกแอปพลิเคชัน Android" ใน ADK มันจะช่วยให้คุณสร้างคีย์และสร้างไฟล์. apk ของคุณ

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