Tôi chưa bao giờ đặt bất kỳ mật khẩu nào cho kho khóa và bí danh của mình, vậy chúng được tạo như thế nào?


137

Khi tôi đang xem qua một số bài đăng trên Internet để tìm hiểu thêm về việc ký ứng dụng Android của bạn , tôi đã nhận được bài đăng như cách ký ứng dụng và điều gì đó nếu bạn bị mất tệp kho khóa hoặc mật khẩu.

Câu hỏi tôi ở đây để hỏi là, tôi chưa bao giờ tạo một kho khóa, hoặc bí danh của nó, hoặc mật khẩu của nó, vậy làm thế nào trên trái đất này tôi có thể quên nó?

Tôi biết rằng đối với Android chúng ta sử dụng mật khẩu android , vì vậy, nếu mật khẩu mặc định là Android thì làm sao người ta có thể quên nó? (Tôi chắc chắn phải có một số cách khác để tạo kho khóa mới).

Cuối cùng, nếu android là mật khẩu mặc định, bí danh mặc định là gì?

Câu trả lời:


409

Đăng nhập ở chế độ gỡ lỗi

Các công cụ xây dựng Android cung cấp chế độ ký gỡ lỗi giúp bạn dễ dàng phát triển và gỡ lỗi ứng dụng của mình hơn, trong khi vẫn đáp ứng yêu cầu hệ thống Android để ký APK. Khi sử dụng chế độ gỡ lỗi để xây dựng ứng dụng của bạn, các công cụ SDK sẽ gọi Keytool để tự động tạo kho khóa và khóa gỡ lỗi. Khóa gỡ lỗi này sau đó được sử dụng để tự động ký APK, do đó bạn không cần phải ký gói bằng khóa của riêng mình.

Các công cụ SDK tạo kho khóa / khóa gỡ lỗi với tên / mật khẩu được xác định trước:

Keystore name: "debug.keystore"
Keystore password: "android"
Key alias: "androiddebugkey"
Key password: "android"
CN: "CN=Android Debug,O=Android,C=US"

Nếu cần, bạn có thể thay đổi vị trí / tên của kho khóa / gỡ lỗi hoặc cung cấp kho khóa / khóa gỡ lỗi tùy chỉnh để sử dụng. Tuy nhiên, bất kỳ kho khóa / khóa gỡ lỗi tùy chỉnh nào cũng phải sử dụng cùng tên kho khóa / tên khóa và mật khẩu làm khóa gỡ lỗi mặc định (như được mô tả ở trên). (Để làm như vậy trong Eclipse / ADT, hãy đi tới Windows> Tùy chọn> Android> Build .)

Thận trọng: Bạn không thể phát hành ứng dụng của mình ra công chúng khi được ký với chứng chỉ gỡ lỗi.

Nguồn: Nhà phát triển.Android


Đó là rất nhiều thông tin. Chấp nhận nó như một câu trả lời. Thêm một câu hỏi nữa ạ. Liệu một kho khóa có nhiều khóa hoặc kho khóa và khóa là giống nhau không?
Anas Azeem

Một kho khóa có thể có nhiều khóa và bạn sẽ phải tạo các bí danh khác nhau cho các khóa tôi nghĩ bây giờ rõ ràng là sự khác biệt giữa khóa và kho khóa.

Tôi sử dụng nó để ký một gói ứng dụng unsigned Tôi không thể cài đặt: jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ~ / .android / debug.keystore my_unsigned.apk androiddebugkey Cảm ơn bạn
Ivan Morgillo

@ user2730944 Bạn có thể vui lòng, ăn mừng về cách bạn tìm ra mật khẩu nào là "android", vì từ nguồn mà bạn cung cấp không rõ ràng?
spin_eight

22

Nếu bạn muốn cấu hình chúng trong lớp, nó sẽ trông giống như

signingConfigs {
        debug {
            storeFile file('PATH_TO_HOME/.android/debug.keystore')
            storePassword 'android'                   
            keyAlias 'AndroidDebugKey'
            keyPassword 'android'                     
        }
        ...
}

3

Khi chúng tôi chạy ứng dụng trong apk nhật thực, tạo là ký hiệu mặc định Keystore được cung cấp bởi Android.

Nhưng nếu bạn muốn tải lên ứng dụng của mình trên cửa hàng play, bạn cần tạo kho khóa của riêng mình. Eclipse đã cung cấp giao diện GUI để tạo kho khóa mới. Và bạn cũng có thể tạo kho khóa thông qua dòng lệnh.

bí danh mặc định là

androiddebugkey

Cảm ơn câu trả lời của bạn, nhưng bất kỳ ý tưởng nào về mật khẩu cho khóa, vì mật khẩu cho kho khóa là "android" (nếu tôi không sai)
Anas Azeem

@AnasAzeem xem câu trả lời của tôi

3
Keystore name: "debug.keystore"

Keystore password: "android"

Key alias: "androiddebugkey"

Key password: "android"

Tôi sử dụng thông tin này và tạo thành công APK đã ký.


2

Tốt hơn tất cả các tùy chọn, bạn có thể đặt giá trị của mình signingConfigbằng debug.signingConfig. Để làm điều đó bạn chỉ cần làm như sau:

android {
  ...
  buildTypes {
    ...
    wantedBuildType {
      signingConfig debug.signingConfig
    }
  }
}

Với điều đó, bạn sẽ không cần biết vị trí của debug.keystorenó, ứng dụng sẽ hoạt động cho tất cả các nhóm, ngay cả khi ai đó sử dụng một môi trường khác.


Thông minh! Đây là cách ngắn gọn để làm cho loại bản dựng debugProguard có thể cài đặt được.
Jerry101

1

Tất cả những câu trả lời này và VẪN chỉ thiếu một. Khi bạn tạo thông tin xác thực xác thực của mình trong phần Google API của bảng điều khiển dev, hãy đảm bảo (đặc biệt nếu đó là thông tin đầu tiên của bạn) mà bạn đã nhấp vào tùy chọn 'màn hình đồng ý'. Nếu bạn không có 'tiêu đề' và bất kỳ trường bắt buộc nào khác điền vào cuộc gọi sẽ thất bại với tùy chọn này.

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.