Cách lấy Bí danh khóa và Mật khẩu khóa cho APK đã ký trong android studio (được di chuyển từ Eclipse)


89

Tôi có một ứng dụng Android hiện đã được xuất bản trên Google Play mà tôi cập nhật định kỳ. Tôi làm theo quy trình sau để ký ứng dụng trước khi có một đợt đẩy mới:

Nhấn chuột phải vào dự án, 'công cụ Android' -> xuất gói ứng dụng đã ký Cung cấp mật khẩu kho khóa Đăng ứng dụng của bạn Tải tệp apk lên Bảng điều khiển dành cho nhà phát triển trên Google Play

Gần đây, tôi đã nhập dự án từ Eclipse sang Android Studio và tiếp tục làm việc trên Android Studio. Bây giờ tôi đang lên kế hoạch thúc đẩy một bản sửa lỗi trong ứng dụng. Tôi đã tìm ra rằng tôi có tùy chọn này để đăng nhập apk trong studio android

Xây dựng -> Tạo apk đã ký ->nhập mô tả hình ảnh ở đây

Theo hiểu biết của tôi, đối với ứng dụng Android của mình, tôi phải sử dụng cùng một kho khóa và mật khẩu kho khóa mà tôi đã sử dụng trước đó để đẩy các bản cập nhật vào Google Play. Cũng ở đây, nó yêu cầu Bí danh chính và Mật khẩu khóa. Tôi không nhớ Bí danh khóa và mật khẩu khóa (đầu vào số 4 trong hình ảnh) khi ký apk trong Eclipse. Bất kỳ đề nghị tôi có thể làm gì bây giờ? Nếu tôi đã biết mật khẩu kho khóa và kho khóa của mình, có cách nào để lấy lại bí danh khóa và mật khẩu khóa bí danh không?

Cập nhật: Bây giờ tôi có thể truy xuất bí danh khóa của mình thông qua lệnh keytool -list -v -keystore name.keystore


"không có tùy chọn làm Bí danh khóa hoặc Mật khẩu khóa khi đăng nhập apk trong Eclipse" - có trong Eclipse của tôi với plugin ADT. Trên thực tế, không thể tạo khóa mà không có bí danh.
CommonsWare

Trong trường hợp đó, tôi có thể không nhớ. Bạn có thể vui lòng cho biết cách lấy bí danh Key không?
MSIslam

2
Nếu bạn có mật khẩu kho khóa, bạn keytoolcó thể liệt kê các bí danh. Đã lâu rồi tôi không làm keytooltheo cách thủ công.
CommonsWare

1
Không, bạn không thể tạo khóa mới, trừ khi bạn muốn thay đổi khóa mới và buộc người dùng của bạn mất dữ liệu ứng dụng của họ (và ít nhất là những người tải ứng dụng thông qua cửa hàng Play) để thay thế ứng dụng hiện có bằng một tên khác. Nhiều khả năng những cái bạn đang sử dụng được lưu trữ ở đâu đó trong siêu dữ liệu của dự án, khá có thể là văn bản thuần túy.
Chris Stratton

3
Tôi thực sự có thể lấy bí danh bằng lệnh keytool -list -v -keystore name.keystore. Bây giờ tôi cần lấy lại mật khẩu. Có cách nào để lấy lại mật khẩu khóa bí danh không?
MSIslam

Câu trả lời:


159

Trên Mac , tôi đã tìm thấy đường dẫn tệp kho khóa, mật khẩu, bí danh khóa và mật khẩu khóa trong báo cáo nhật ký trước đó trước khi cập nhật Android Studio.

Tôi đã khởi chạy tiện ích Console và cuộn xuống ~ / Library / Logs -> AndroidStudioBeta -> idea.log.1 (hoặc bất kỳ số nhật ký cũ nào)

Sau đó, tôi tìm kiếm “android.injected.signs.store” và tìm thấy điều này từ một ngày trước đó:

-Pandroid.injected.signing.store.file=/Users/myuserid/AndroidStudioProjects/keystore/keystore.jks, 
-Pandroid.injected.signing.store.password=mystorepassword, 
-Pandroid.injected.signing.key.alias=myandroidkey, 
-Pandroid.injected.signing.key.password=mykeypassword,

Trên Windows

bạn có thể tìm thấy mật khẩu khóa bị mất của mình trong đường dẫn bên dưới

Project\.gradle\2.14.1\taskArtifacts\taskArtifacts.bin hoặc là ..taskHistory\taskHistory.bin

Đây là hình ảnh cho chế độ xem đường dẫn trong cấu trúc thư mục

mở tệp bằng các công cụ thích hợp, ví dụ NotePad ++ và tìm kiếm bằng phần mật khẩu mà bạn nhớ. Bạn sẽ tìm thấy nó chắc chắn. Nếu không, hãy thử tìm kiếm với chuỗi này "signConfig.storePassword".

Lưu ý: Tôi đã trải qua cùng một kinh nghiệm và tôi có thể tìm thấy nó. Trong trường hợp nếu bạn không tìm thấy có thể bạn đã xóa tất cả bộ nhớ cache và các tệp tạm thời.


14
Bạn là một vị thần. Nếu bạn đang sử dụng Windows thì hãy truy cập.AndroidStudioX.X (x.x is the version number eg 1.5) > system > log > idea
Pztar

10
Chà! Bạn đã lưu ngày của tôi, tháng của tôi và năm của tôi! Thật tuyệt vời! :) Nhưng trong trường hợp của tôi (Android 2.2), mật khẩu được hiển thị là: ********. Trên WindowsC:\Users\yourUser\.Android2.2\system\log\idea.log.1
Francisco Romero

7
@ Error404 Mật khẩu được hiển thị ngay dưới phần ***** đầu tiên. Nó hoạt động với tôi trên Android 2.2
Montolide

1
^^ @grant xin lỗi nhưng tôi quên gắn thẻ bạn trong này ... trong trường hợp bạn vẫn gặp vấn đề
Kmanc

7
Rất tiếc là không hoạt động trên Windows và Android Studio 3.3. Mật khẩu ẩn với ********
D.Zotov

120

Cuối cùng tôi có thể tìm ra vấn đề.

Để lấy Bí danh khóa: Tôi đã sao chép keytool.exe và tệp kho khóa của mình vào thư mục C: \ Program Files \ Java \ jdk1.7.0_71 \ bin. Sau đó, từ dấu nhắc lệnh, tôi đã viết: keytool -list -v -keystore <name>.keystore Sau đó, nó cũng sẽ yêu cầu mật khẩu kho khóa. Sau đó, nó sẽ hiển thị cho bạn bí danh chính và dấu vân tay Chứng chỉ và các thông tin khác.

Sau đó, tôi lại cố gắng Tạo Apk đã ký cho dự án, tôi đã cung cấp kho khóa, mật khẩu kho khóa, bí danh khóa và cung cấp cùng một mật khẩu. Sau đó, nó yêu cầu mật khẩu chính, tôi đã thử với cùng một nhưng nó không thành công. Với tùy chọn đặt lại, tôi đặt lại mật khẩu chính tại đây.


@JoelDean, bạn có thể cung cấp thêm chi tiết không? Bạn có thể đặt lại hoặc lấy lại mật khẩu bí danh kho khóa của mình bằng cách này không? hay chỉ là bí danh?
rgamber

Tôi đã nhớ mật khẩu nên tôi có thể lấy bí danh bằng phương pháp này.
Joel Dean,

bạn có thể giải thích lại phần thứ hai của câu trả lời của bạn không? !! bạn bị mất tôi từ "và cung cấp cùng một mật khẩu"
Muhammed Refaat

1
@MuhammedRefaat mật khẩu giống với mật khẩu kho khóa
MSIslam

1
Tôi biết mật khẩu kho khóa của mình nhưng không biết đường dẫn kho khóa, bạn có thể giúp tôi nơi tôi có thể tìm thấy nó. tôi chỉ biết đường dẫn tệp jks của mình và mật khẩu kho khóa và keyalias nhưng không nhớ mật khẩu khóa. vui lòng giúp đỡ
Rajkumar Gour

53

cách lấy lại mật khẩu kho khóa

Bạn không thể lấy lại mật khẩu. Nếu bạn quên nó, bạn sẽ phải chịu đựng.

cách lấy bí danh khóa

$ keytool -list -v -keystore <store>

Nhưng bạn cần mật khẩu kho khóa cho việc này trước.

BIÊN TẬP

Điều tôi không nhớ là 'Mật khẩu khóa'

Không có mật khẩu nào có thể được khôi phục. Nếu chẳng may bạn quên mật khẩu khóa thì bạn cũng sẽ phải chịu đựng và không còn cách nào khác ngoài việc cố gắng nhớ lại mật khẩu. Không có điều gì đặt lại mật khẩu hoặc bất cứ điều gì tương tự.

Hãy lưu ý rằng nếu bạn quên mật khẩu thì bạn sẽ không phát hành thêm bản cập nhật nào cho ứng dụng của mình ( tài liệu ):

Cảnh báo: Giữ kho khóa và khóa cá nhân của bạn ở nơi an toàn và bảo mật, đồng thời đảm bảo rằng bạn có các bản sao lưu an toàn của chúng. Nếu bạn xuất bản một ứng dụng lên Google Play và sau đó làm mất khóa mà bạn đã ký ứng dụng của mình, bạn sẽ không thể xuất bản bất kỳ bản cập nhật nào cho ứng dụng của mình, vì bạn phải luôn ký tất cả các phiên bản ứng dụng của mình bằng cùng một khóa.


2
Tôi nhớ mật khẩu kho khóa. Ngoài ra, tôi có kho khóa và bây giờ tôi nhớ Bí danh khóa. Điều tôi không nhớ là 'Mật khẩu khóa' (ô số 4 trong hình ảnh được đề cập).
MSIslam

Cảm ơn bạn đã trả lời. Đã bình chọn. Tôi thực sự đã có bí danh khóa trước đó giống như cách bạn đã đề cập. Những gì tôi đang gặp phải vấn đề là mật khẩu bí danh chính.
MSIslam

nhưng điều này chỉ cung cấp cho bạn thông tin về các khóa bao gồm cả dấu vân tay nhưng không cung cấp cho bạn chính mật khẩu, tôi còn thiếu thứ gì ở đây không?
Muhammed Refaat

keytool tồn tại cũng cho Mac
János

Bạn luôn có thể khôi phục mật khẩu của mình miễn là bạn không định dạng ổ cứng hoàn toàn và xóa IDE của mình. Như @Distjoy đã giải thích bên dưới, tôi luôn sử dụng cách đó để khôi phục mật khẩu của mình.
XIII,

24

Trong windows - Chỉ cần mở tệp kho khóa của bạn bằng notepad và ngay dòng đầu tiên - bạn có thể thấy bí danh của mình được viết bằng chữ cái tiếng Anh.


3
và trên máy Mac, bạn có thể thực hiện việc này với TextEdit
Leo Droidcoder

24

Khôi phục mật khẩu kho khóa của bạn

100% làm việc

Projects->taskHistory.bin

nhập mô tả hình ảnh ở đây

Find->KeyAlias

nhập mô tả hình ảnh ở đây

Lưu ý: Nhấp và Xem hình ảnh của tôi để bạn tham khảo

Bây giờ để cập nhật lịch sử tác vụ studio android đã được thay đổi thành lịch sử thực thi [!


Đây là cách dễ dàng nhất để đi.
JPritchard9518

16

Dựa trên câu trả lời gkemp, Trên Windows, tôi đã tìm thấy đường dẫn tệp kho khóa, mật khẩu, bí danh khóa và mật khẩu khóa trong báo cáo nhật ký trước đó trước khi tôi cập nhật Android Studio.

Từ tệp windows explorer c: / Users / tên máy tính của bạn / .AndroidStudio1.4 (phiên bản studio android của bạn) \ system \ log \ idea.log.1 (hoặc bất kỳ số nhật ký cũ nào)

Sau đó, tôi tìm kiếm “android.injected.signs.store” và tìm thấy điều này từ một ngày trước đó:

-Pandroid.injected.signing.store.file= path to your keystore 
-Pandroid.injected.signing.store.password=yourstorepassword
-Pandroid.injected.signing.key.alias=yourkeyalias
-Pandroid.injected.signing.key.password=yourkeypassword

14

Trong ubuntu, chúng ta có thể tìm thấy tất cả mật khẩu liên quan đến kho khóa từ đường dẫn nhất định.

/home/user/.AndroidStudio2.2(current version)/system/log/idea.log.x(older versions)

chỉnh sửa tệp và tìm kiếm android.injected.signing.store, sau đó bạn có thể tìm thấy mật khẩu.

-Pandroid.injected.signing.store.file= path to your keystore 
-Pandroid.injected.signing.store.password=yourstorepassword
-Pandroid.injected.signing.key.alias=yourkeyalias
-Pandroid.injected.signing.key.password=yourkeypassword

14

Để chỉ khôi phục KEY ALIAS. Nhập lệnh dưới đây trên thiết bị đầu cuối.

$ keytool -list -v -keystore <storekey>

Nó sẽ cung cấp thông tin bắt đầu,

Kho khóa của bạn chứa 2 mục nhập ...

Bạn có thể tìm tên bí danh ở đó.


10

Tôi đã tìm thấy mật khẩu khóa của mình trong đường dẫn bên dưới

Project\.gradle\2.14.1\taskArtifacts\taskArtifacts.bin mở tệp và tìm kiếm bằng phần mật khẩu mà bạn nhớ. Bạn sẽ tìm thấy nó chắc chắn.

Ngoài ra, bạn có thể tham khảo câu trả lời này stackoverflow.com/a/43007357/7089151


1
Không thể tìm thấy tệp này tại android studio 3.0, Vui lòng cho tôi biết làm cách nào để tôi có thể lấy được.
Peter

@Peter Tham khảo phần này: stackoverflow.com/a/43007357/7089151 Khám phá taskArtifacts.bin trong cấu trúc dự án của bạn. Các con số phiên bản có thể thay đổi nhưng tất cả các bạn cần làm là tìm ra taskArtifacts.bin
Maharshi Adiraju

1
Nếu thư mục taskArtifacts không tồn tại, hãy mở tệp taskHistory / taskHistory.bin trong trình soạn thảo văn bản và tìm kiếm phần của pwd mà bạn nhớ.
Advait S

1
Có bạn nào có ý kiến ​​về cách tìm mật khẩu Key không? Tôi có storePassword nhưng không có KeyPassword.
sommesh 18/09/18

9

Có, bạn có thể tìm thấy chìa khóa bị mất của mình trong các tạo tác tác vụ từ Android Studio.

Project\.gradle\2.14.1\taskArtifacts\taskArtifacts.bin

đối với phiên bản cập nhật của android studio, đường dẫn là:

Project\.gradle\5.1.1\executionHistory\executionHistory.bin

Mở tệp và tìm kiếm với phần mật khẩu mà bạn nhớ.

Mẫu (cái này sẽ nằm trong tệp bin đó): signingConfig.keyAlias�"key name"�signingConfig.keyPassword�"key password"�signingConfig.storePassword�"Store Password"�

Bạn có thể tìm kiếm với chuỗi này “signConfig.storePassword” hoặc bất kỳ chuỗi nào được đưa ra trong chuỗi mẫu

Lưu ý: Tôi đã trải nghiệm điều tương tự và tôi có thể tìm thấy nó trong đường dẫn trên. Trong trường hợp nếu bạn không tìm thấy có thể bạn đã xóa tất cả bộ nhớ cache và các tệp tạm thời.



5

Chỉ cần mở tệp khóa (tệp .jks) bằng notepad ++. Bạn sẽ nhận được tên bí danh ở dòng đầu tiên ...


Điều này không mang lại điều gì mới mẻ, Lucky Rana đã trình bày điều này.
Eduardo Hernández

5

Bạn có thể tìm thấy chi tiết kho khóa của mình mà không cần sử dụng mật khẩu theo cách sau.

Thực thi lệnh ( keytool -list -keystore <path>) trong dấu nhắc lệnh

Bạn có thể tìm thấy Keytool trong thư mục java trong máy của tôi, tôi có thể tìm thấy theo đường dẫn sau

C:\Program Files (x86)\Java\jdk1.7.0_71\bin> keytool -list -keystore C:\<YourKeystore>.Keystore

Sau đó nó sẽ yêu cầu bạn nhập mật khẩu, Ở đây bạn không cần nhập mật khẩu thay vào đó nhấn nút mũi tên lên và nhập. thì các chi tiết tương tự sẽ được hiển thị với thông báo cảnh báo như bên dưới.

***************** CẢNH BÁO CẢNH BÁO *****************

  • Tính toàn vẹn của thông tin được lưu trữ trong kho khóa của bạn *

  • CHƯA được xác minh! Để xác minh tính toàn vẹn của nó, *

  • bạn phải cung cấp mật khẩu kho khóa của bạn. *

***************** CẢNH BÁO CẢNH BÁO *****************

Loại kho khóa: JKS Nhà cung cấp kho khóa: SUN

Kho khóa của bạn chứa 1 mục nhập

khóa mẫu, ngày 26 tháng 4 năm 2017, PrivateKeyEntry, Tệp tham chiếu chứng chỉ (SHA1): XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX : XX: XX


Cảm ơn đã giúp đỡ. có nó được viết ở dòng trên cùng. bạn chỉ cần mở nó trên notepad
Mudasar

5

Chỉ cần Mở tệpApp.jks của bạn bằng Notepad, bạn sẽ tìm thấy tên Kho khóa & Bí danh ở đó !!


1
Đã mã hóa của nó. Bạn không thể đọc các ký tự khi bạn mở trong notepad.
Abhinav Raja

Mặc dù điều này cho phép bạn tìm ra bí danh của mình vì bí danh vẫn chưa được mã hóa trong .jks, nhưng nó không giúp bạn tiến gần hơn đến việc phát hiện ra mật khẩu bị mất.
Evan Wieland

1
Đã tìm thấy bí danh, vâng! Và đã nhớ mật khẩu.
eric

5

Nếu bạn đang sử dụng MacOS và chọn hộp "lưu mật khẩu" trong Android Studio, bạn có thể khôi phục mật khẩu từ Keychain Access.

  1. Khởi chạy Truy cập chuỗi khóa từ Ứng dụng / Tiện ích.
  2. Chọn mật khẩu trong Danh mục, trên bảng điều khiển bên trái.
  3. Ở trên cùng bên phải của hộp tìm kiếm, hãy nhập tên ứng dụng Android của bạn hoặc một phần của tên ứng dụng.
  4. Bạn sẽ thấy dòng kết quả, nếu bạn đã lưu mật khẩu.
  5. Nhấp đúp vào nó, chọn hộp kiểm hiển thị mật khẩu, cung cấp mật khẩu hệ thống của bạn khi được yêu cầu và nó sẽ hiển thị mật khẩu kho khóa của bạn.

5

Rất tiếc, các giải pháp được cung cấp ở trên không thân thiện với người mới bắt đầu.

nó là

keytool -list -v -keystore keystore_name.jks

1
Giải pháp trên sẽ giúp bạn lấy keyAlias ​​với điều kiện bạn nhớ mật khẩu kho khóa.
shahil

1

Phương pháp làm việc dưới đây của Android Studio 3.0:
Tìm dự án đã nén cũ của bạn.
Nếu bạn đã tạo apk, bạn sẽ tìm thấy mật khẩu trong tệp:

Project\.gradle\2.14.1\taskArtifacts\taskArtifacts.bin

Pandroid.injected.signs.store.password = mật khẩu

Nếu bạn không có dự án nén, hãy tìm kiếm kho lưu trữ git của bạn nếu bạn có đẩy thư mục .gradle hay không.
Nếu không, bạn sẽ phải khôi phục tệp và tìm kiếm tệp theo nội dung "Pandroid.injected.signs.store.password".



0

Trong mọi trường hợp bạn nhầm lẫn với mật khẩu của mình, bạn có thể sử dụng hit và dùng thử. Nó sẽ hỏi bạn mật khẩu, nếu đúng thì nó sẽ hiển thị cho bạn danh sách.

  • Liệt kê mục

$ keytool -list -v -keystore filename


0

Tôi đã thử rất nhiều cách giải quyết và chỉ có cách đó phù hợp với tôi và tôi sẽ chia sẻ nó với bạn

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

tìm kiếm theo Ctrl+F


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.