ฉันจะตรวจสอบว่า Android apk ลงชื่อด้วยรีลีสและไม่แก้ปัญหาใบรับรองได้อย่างไร
source thatfile
ตามลิงค์และวางมันลงในไฟล์แล้ว ความคิดเห็นในสคริปต์อธิบายวิธีเรียกใช้
ฉันจะตรวจสอบว่า Android apk ลงชื่อด้วยรีลีสและไม่แก้ปัญหาใบรับรองได้อย่างไร
source thatfile
ตามลิงค์และวางมันลงในไฟล์แล้ว ความคิดเห็นในสคริปต์อธิบายวิธีเรียกใช้
คำตอบ:
ใช้คำสั่งนี้ (ไปที่ java <jdk <bin path ในพรอมต์ cmd)
$ jarsigner -verify -verbose -certs my_application.apk
หากคุณเห็น "CN = Android Debug" นี่หมายความว่า. apk ได้รับการลงนามด้วยคีย์แก้ไขข้อบกพร่องที่สร้างขึ้นโดย Android SDK (หมายถึงไม่มีการลงนาม) มิฉะนั้นคุณจะพบบางอย่างสำหรับ CN ดูรายละเอียดเพิ่มเติมได้ที่: http://developer.android.com/guide/publishing/app-signing.html
this means the .apk was signed with the debug key generated by the Android SDK (means it is unsigned)
- นี่ไม่ได้หมายความว่าไม่ได้ลงนาม มันหมายถึงสิ่งที่คุณเพิ่งเขียน - มันถูกเซ็นชื่อด้วย debug key
jarsigner -verify -verbose -certs myapp.apk | grep CN= | less
เราไม่ควรเห็น "CN = Android Debug"
ใช้คำสั่งคอนโซล:
apksigner verify --print-certs application-development-release.apk
คุณสามารถค้นหา apksigner ใน ../sdk/build-tools/24.0.3/apksigner.bat เฉพาะสำหรับเครื่องมือสร้าง v. 24.0.3 และสูงกว่า
อ่าน google docs ด้วย: https://developer.android.com/studio/command-line/apksigner.html
apksigner
ใน `% LOCALAPPDATA% \ Android \ sdk \ build-tools \ 25.0.3` (และทุกรุ่นเครื่องมือสร้างอื่น ๆ ที่ฉันได้ติดตั้งไว้)
apksigner
เวอร์ชัน26.0.0
เครื่องมือหายไป มีการติดตามในissuetracker.google.com/issues/62696222และควรได้รับการแก้ไขในรุ่นถัดไป วิธีแก้ปัญหาจนแล้วคือการใช้จากapksigner
25.0.3
apksigner
รวมอยู่ในเวอร์ชัน26.0.1
./apksigner verify --print-certs -v ~/Downloads/MyAppHere.apk
ใช้คำสั่งนี้: (Jarsigner อยู่ในโฟลเดอร์ Java bin ของคุณ goto java-> jdk-> bin bin ในคำสั่ง cmd)
$ jarsigner -verify my_signed.apk
หาก. apk ได้รับการลงชื่ออย่างถูกต้อง Jarsigner จะพิมพ์ "jar Verify"
ง่ายที่สุดของทั้งหมด:
keytool -list -printcert -jarfile file.apk
สิ่งนี้ใช้แอพพลิเคชั่น keytool ในตัวของ Java และไม่ต้องการการแตกไฟล์หรือการติดตั้งเครื่องมือในตัว
keytool -printcert -file ANDROID_.RSA or keytool -list -printcert -jarfile app.apk
เพื่อรับ hash md5keytool -list -v -keystore clave-release.jks