LRI: 'keytool' không được nhận dạng như một lệnh bên trong hoặc bên ngoài, chương trình có thể hoạt động hoặc tệp bó


138

Khi tôi sử dụng lệnh

C:\>keytool -list -alias androiddebugkey 
            -keystore .android\debug.keystore 
            -storepass android -keypass android

Tôi nhận được lỗi này:

'keytool' không được nhận dạng như một lệnh nội bộ hoặc bên ngoài, chương trình có thể hoạt động hoặc tệp bó.

Tôi không thể lấy dấu vân tay (MD5) trên máy tính của mình.

tôi đã đảm bảo rằng tệp kho khóa có mặt ở vị trí thích hợp.

Có ai giúp đỡ không?

Câu trả lời:


220

Kiểm tra xem thư mục mà keytool thực thi được nằm trong %PATH%biến môi trường của bạn .

Ví dụ: trên máy Windows 7 của tôi, nó nằm trong C:\Program Files (x86)\Java\jre6\bin%PATH%biến của tôi trông giống như C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Java\jre6\bin;C:\WINDOWS\System32\WindowsPowerShell\v1.0\(và nhiều mục khác)


tôi đã nhập C: \ Program Files \ Java \ jdk1.6.0_21 \ bin> keytool -list -alias androiddebugkey -keystore .android \ debug.keystore -storepass android -keypass android. lỗi tôi gặp là lỗi keytool: java.lang.Exception: Tệp kho khóa không tồn tại: .android \ debug .keystore
Shalini

Nếu bạn làm điều đó, nó sẽ tìm kiếm kho khóa trong C:\Program Files\Java\jdk1.6.0_21\bin\.android\debug.keystoređó gần như chắc chắn không phải là đường dẫn chính xác. Bạn cần cung cấp cho nó đường dẫn đầy đủ chính xác đến kho khóa của bạn.
Ben Williams

1
tệp kho khóa ở đây C: \ Documents and Settings \ Shalini \ .android> vì vậy khi tôi nhập C: \ Documents and Settings \ Shalini \ .android> keytool -list -alias androiddebugkey -keystore .android \ debug.keystore -storepass android -cách qua android. tôi nhận được cùng một lỗi 'keytool' không được nhận dạng như một lệnh nội bộ hoặc bên ngoài, chương trình có thể hoạt động hoặc tệp bó.
Shalini

14
Hãy thửC:\Program Files\Java\jdk1.6.0_21\bin\keytool -list -alias androiddebugkey -keystore C:\Documents and Settings\Shalini\.android\debug.keystore -storepass android -keypass android
Ben Williams

ok tôi đã nhập C: \ Documents and Settings \ Shalini \ .android> C: \ Program Files \ Java \ jdk1.6.0_21 \ bin \ keytool -list -alias androiddebugkey -keystore C: \ Documents and Settings \ Shalini \ .android \ debug.keystore -storepass android -keypass android. lỗi là Tên tệp, tên thư mục hoặc cú pháp nhãn âm lượng không chính xác.
Shalini

91

Điều này làm việc cho tôi !! :

Đi đến đường dẫn này hoặc bất cứ nơi nào bạn có tệp keytool.exe của bạn

C:\Program Files\Java\jre7\bin

Giữ shiftvà nhấp chuột phải -> sau đó nhấnOpen command window here

thiết bị đầu cuối sẽ bật lên, dán này vào:

keytool -list -v -keystore "C:\Users\"Your-User-Name(no quotes)"\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

cung cấp cho bạn cả MD5 và SHA1


Điều này hoạt động nhưng câu trả lời của @ Amt87 sẽ đảm bảo bạn có sẵn keytool trong bất kỳ thư mục nào mà không cần phải cd đầu tiên vào thư mục nơi keytool được đặt (chỉ cửa sổ). trong OS X (Mac), hãy chỉnh sửa .profile của bạn và đảm bảo bao gồm: $ PATH ở cuối hoặc bạn sẽ không có lệnh nào. (xem architectryan.com/2012/10/02/NH )
tricknology

68

Tìm thấy rồi.

ĐI ĐẾN:

my computer->rightClick->properties->Advanced system settings->environment variables->find path in system variables->dbl click-> paste the "C:\Program Files\Java\jdk1.6.0_16\bin"->OK

ĐI ĐẾN:

cmd -> keytool -list -alias androiddebugkey -keystore "C:\Users\meee\.android\debug.keystore" -storepass android -keypass android

10
  1. Chuyển đến Máy tính của tôi -> nhấp chuột phải -> thuộc tính hệ thống -> biến môi trường -> Đường dẫn -> thêm bạn jdk / bin vào đường dẫn này

    C:\Program Files\Java\jdk1.8.0_211\bin

* nếu điều này không hoạt động thì

  1. Trong cmd đặt đường dẫn bằng cách sử dụng lệnh dưới đây

    set PATH=C:\Program Files\Java\jdk1.8.0_211\bin

bây giờ đường dẫn được đặt bây giờ bạn có thể sử dụng keytool


Cảm ơn, trong Windows 10 tôi đã thử giải pháp đầu tiên và vì một số lý do không hoạt động. Cái thứ 2 hoạt động tuyệt vời.
NineCattoRules

Cảm ơn. Tùy chọn thứ hai hoạt động với tôi trên Windows 10 x64
mdhz

9

Trên windows 8, truy cập C: \ Program Files \ Java \ jre7 \ bin và trong thanh địa chỉ, nhập "cmd" mà không có dấu ngoặc kép. Điều này sẽ khởi động thiết bị đầu cuối. Sau đó nhập chuỗi như mô tả ở đây .


8

Vì vậy, nếu bạn có cấu trúc sau đây:

 C:\Program Files\Java\jre6\bin\
                                keytool.exe
                                debug.keystore

sau đó thực hiện:

C:\Program Files\Java\jre6\bin>keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android 

Tôi có jdk-13 .. tôi không có tập tin jre. Làm thế nào tôi có thể giải quyết điều này
raman raman 11/11/19

5

Đảm bảo rằng JAVA_HOME được đặt và đường dẫn trong các biến môi trường phản ánh thư mục bin của JAVA_HOME. Về cơ bản, PATH sẽ có thể tìm thấy tệp keytools.exe trong vị trí jdk của bạn.


5

tất cả những gì bạn có thể làm là điều hướng đến đích jre trong máy tính của bạn thông qua dòng lệnh và sau đó khi bạn đến bin, bạn gõ lệnh keytool và nó sẽ hoạt động.

C:\Program Files (x86)\Java\jre7\bin>
C:\Program Files (x86)\Java\jre7\bin>keytool -list -v -keystore"%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android



Alias name: androiddebugkey
Creation date: 23 Feb, 2014
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 479d4fe7
Valid from: Sun Feb 23 06:19:02 IST 2014 until: Tue Feb 16 06:19:02 IST 2044
Certificate fingerprints:
MD5:  DB:6A:8E:48:22:5B:37:73:B1:91:EF:43:3F:26:F0:EC
SHA1: B4:6B:2E:5F:5A:30:C5:E4:E7:12:BB:F0:74:FC:2B:43:64:3A:FC:15
SHA256: CB:59:F3:20:7D:5B:87:99:6C:0D:32:79:79:CF:4E:8C:16:C2:37:81:7B:
B0:AF:D2:EC:3C:11:21:53:58:62:F6
Signature algorithm name: SHA256withRSA
Version: 3
Extensions:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: FA 96 17 9E 94 73 C3 42   F0 4B 55 5B C7 5B EE BB  .....s.B.KU[.[..
0010: C3 E5 D3 61                                        ...a
]
]

1
Cái nào trong số này là băm khóa và cái nào là Băm khóa phát triển và cái nào là Phát hành băm khóa?
TPWang

4

Thật dễ dàng, chỉ cần tìm vị trí nơi thực thi keytool, thường là trong java/jre(Version)/binví dụ trong máy tính của tôi C:\Program Files\Java\jre7\bin. tất cả những gì bạn phải làm là vào các biến môi trường , nhấp vào PATH để kích hoạt nó, sau đó nhấp vào chỉnh sửa, sau đó thêm đường dẫn hoàn chỉnh nơi keytool của bạn , đối với tôi tôi sẽ thêm C:\Program Files\Java\jre7\binđiều này sẽ cho phép bạn thực thi các lệnh keytool mà không cần đến thư mục keytool được cài đặt.


3

nếu bạn muốn chạy keytool từ bất kỳ vị trí nào của thiết bị đầu cuối

ví dụ: C:> keytool

bạn cần thêm các biến hệ thống

cho cửa sổ:

1) create:
JAVA_HOME
C:\Program Files\Java\jdk1.7.0_45

2) add to Path
%JAVA_HOME%\bin;

2

Điều này có nghĩa là, vỏ của bạn không thể tìm thấy công cụ trên đĩa cứng của bạn.

A)

  • Thay đổi thư mục làm việc thành C:\Program Files\Java\jre6\bin\
  • Hành hình keytool -list -alias androiddebugkey keystore <full directory name make sure that you use enclosing in quotes> -storepass android -keypass android

B)

  • Thêm C:\Program Files\Java\jre6\bin\vào PATHbiến của bạn

2

Trong trường hợp của tôi, vấn đề là sử dụng PowerShell thay vì CMD :)


2

Tôi đã chịu đựng rất nhiều khi cố gắng tìm giải pháp cho nó và cuối cùng tôi đã tìm thấy giải pháp đó bằng cách trước tiên đặt đường dẫn jre tới các biến hệ thống bằng cách điều hướng đến ::

control panel > System and Security > System > Advanced system settings 

Trong phần Biến hệ thống, nhấp vào mới

Variable name: KEY_PATH
Variable value: C:\Program Files (x86)\Java\jre1.8.0_171\bin

Trong đó Giá trị biến phải là đường dẫn đến thư mục bin của JDK.

Sau đó mở dấu nhắc lệnh và Thay đổi thư mục vào cùng thư mục bin của JDK như thế này

C:\Program Files (x86)\Java\jre1.8.0_171\bin 

sau đó sao chép và dán mã dưới đây vào cmd

keytool -list -v -keystore "C:\Users\user\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android   

1

Đưa cho:

keytool -list -keystore ~/.android/debug.keystore

Ngoài ra trong dòng của bạn có một không gian trong kho khóa. Xin vui lòng kiểm tra xem nó.


1

Mở "Biến môi trường" (bạn có thể lấy nó từ tìm kiếm trong menu bắt đầu trong Win10) kiểm tra kỹ đường dẫn mà jdk đang ở để đảm bảo nó tồn tại. Đối với tôi, nó nói "... jdk1.8 / bin" Nhưng khi tôi sao chép nó vào Windows Explorer hoặc dấu nhắc lệnh, nó nói rằng nó không tồn tại. Tôi đã kiểm tra xem nó nên ở đâu và nó nói "jdk1.8.0_77"

Một đổi tên đơn giản của cài đặt trong Android Studio và keytool đã hoạt động!


0

Công trình tốt

Đi đến đường dẫn

C:\Program Files\Java\jre7\bin> keytool -exportcert -alias androiddebugkey -keystore "C:\Users\Developer\.android\debug.keystore"

Sau đó nhập mật khẩu Ketsore và công việc đã hoàn thành !!


0

Mở Dấu nhắc lệnh gõ này ..

"c: \ Tệp chương trình (x86) \ Java \ jdk1.7.0 \ bin \ keytool.exe" -list -v -alias androiddebugkey -keystore "C: \ Users \ EIS.android \ debug.keystore" -storepass android -keypass Android

Sau đó, nhấn Enter MD5 và phím SHA1 sẽ nhận được


0

Tôi biết đã có một vài câu trả lời nhưng không có câu trả lời nào phù hợp với tôi, vì vậy tôi đang đăng một câu trả lời cho tôi, có thể hữu ích cho ai đó.

Trước hết thư mục đến keytool.exe phải nằm trên đường dẫn

và nếu thay vì thư mục nằm trên đường dẫn thì nó báo lỗi, hãy thử bắt đầu dòng lệnh như một người dùng bình thường thay vì là quản trị viên hoặc thay đổi thư mục thành thư mục chính


0

Đối với windows 10 bạn cần đường dẫn C:\Program Files\Java\jre1.8.0_161\bin

khởi động lại lệnh và mở


0

Xác định vị trí nơi keytool.exe của bạn trong thư mục cài đặt java

Của tôi là C:\Program Files\Java\jre1.8.0_181\binmở cmd bất cứ nơi nào và chạy

SET PATH=%PATH%;C:\Program Files\Java\jre1.8.0_181\bin;

thay đổi đường dẫn đến đường dẫn bạn định vị keytool.exe


0

Trường hợp của tôi là, nó không hoạt động ở bất cứ nơi nào tôi gọi nó, bất kể tôi có đường dẫn tệp hay không, nếu tôi mở nó bằng powershell.

nhưng nó hoạt động nếu tôi mở nó bằng cmd.


0

Chỉ cần tìm kiếm trên đường dẫn sau: C: \ → Tệp chương trình → Java → jre1.xxx → bin
chắc chắn thư mục bin này bao gồm keytool.exe này

Sau đó mở dấu nhắc lệnh.

sau đó gõ: (cd có nghĩa là thay đổi thư mục) cd C: \ Program Files \ Java \ jre1.8.0_231 \ bin

Sau đó nhập lệnh và nhấn enter


0

Lệnh keytool có thể không có trong đường dẫn của bạn. Đây là một phần của Java, được cài đặt như một phần của Android Studio. Đối với đường dẫn cụ thể, hãy chạy rung bác sĩ -v và xác định vị trí đường dẫn được in sau 'Java nhị phân tại:'. Sau đó sử dụng đường dẫn đủ điều kiện đó thay thế java (ở cuối) bằng keytool. Nếu đường dẫn của bạn bao gồm các tên được phân tách bằng dấu cách, chẳng hạn như Tệp chương trình, hãy sử dụng ký hiệu phù hợp với nền tảng cho các tên. Ví dụ: trên Mac / Linux, sử dụng Chương trình \ Tệp và trên Windows sử dụng "Tệp chương trình".


0

Một giải pháp đơn giản cho lỗi là trước tiên bạn cần thay đổi thư mục thư mục trong dấu nhắc lệnh. Theo mặc định trong dấu nhắc lệnh hoặc trong thiết bị đầu cuối (Bên trong studio Android ở dưới cùng), đường dẫn được đặt thành C: \ Users # Tên PC của bạn mà bạn đã chọn \ AndroidStudioProjects # tên ứng dụng \ flutter_app> Thay đổi tương ứng: - C: \ Users # Tên PC của bạn mà bạn đã chọn \ AndroidStudioProjects # tên ứng dụng \ flutter_app> cd \

gõ ** cd ** (#after flutter_app>), chỉ nhập cd \ không dấu phẩy

sau đó nhập cd Chương trình Tệp \ Java \ jre1.8.0_251 \ bin (#remember để kiểm tra tên tệp của jre đúng cách)

bây giờ gõ keytool -list -v -keystore "% USERPROFILE% .android \ debug.keystore" -alias androiddebugkey -storepass android -keypass android (không có bất kỳ khoảng trống nào gõ lệnh).

ảnh chụp màn hình của các mã để chạy


-2
  1. Mở nơi KEYTOOL.EXE của bạn trong tệpJAVA của bạn, ví dụ: C: \ Program Files \ Java \ bin \ keytool.exe.

  2. GIỮ SHift và Nhấp chuột phải vào Thư mục BIN nơi đặt keytool.exe của bạn và nhấp vào mở CMD hoặc RUN Command từ đây.

  3. Điều này mở cmd. sau đó gõ vào

keytool -exportcert -alias TÊN KEYSTORE CỦA BẠN -keystore PATH OF KEYSTORE.jks "|" C: \ OpenSSL \ bin \ openssl "sha1 -binary |" C: \ OpenSSL \ bin \ openssl "base64

  1. Nhắc mật khẩu, nhập android và BOOOOOOOM ... Bạn có Khóa của mình.
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.