亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在命令行運行 PEPK 應用簽名工具時出錯 (java -jar pepk.jar)

在命令行運行 PEPK 應用簽名工具時出錯 (java -jar pepk.jar)

MMTTMM 2021-09-12 19:56:09
我得到輸出:錯誤:空從命令(在命令行執行):java -jar pepk.jar --keystore=my.keystore --alias=x --output=my.output --encryptionkey=1243任何人知道為什么或如何解決它?“my.keystore”文件存在并且是一個密鑰庫。別名正確且“my.output”文件不存在。我在上面的示例中更改了加密密鑰值,但無論我使用什么值,我總是得到相同的輸出。我試過雙引號密鑰庫和輸出值,并提供(帶引號)密鑰庫文件和輸出文件的完整路徑。還是一樣的錯誤輸出。jar 正在執行,因為如果缺少某些內容,我會顯示使用幫助。我還嘗試在不同目錄中運行該命令并確保輸出目錄中的權限正確。我正在使用 java 版本:java version "9" Java(TM) SE Runtime Environment (build 9+181) Java HotSpot(TM) 64-Bit Server VM (build 9+181,混合模式)在 Windows 10 上。(我已經嘗試了 / 和 的路徑)。pepk.jar 是在我的應用程序的 Play 商店的應用程序簽名頁面發布此問題的同一天下載的。更新,自 2018 年 9 月 17 日起下載新版本:按照 Pierre 的建議下載新版本的 pepk.jar 后,輸出現在是:Error: Unable to export or encrypt the private keyjava.lang.NullPointerExceptionat com.google.wireless.android.vending.developer.signing.tools.extern.export.KeystoreHelper.loadKeystore(KeystoreHelper.java:45)at com.google.wireless.android.vending.developer.signing.tools.extern.export.KeystoreHelper.getPrivateKey(KeystoreHelper.java:38)at com.google.wireless.android.vending.developer.signing.tools.extern.export.ExportEncryptedPrivateKeyTool.run(ExportEncryptedPrivateKeyTool.java:114)at com.google.wireless.android.vending.developer.signing.tools.extern.export.ExportEncryptedPrivateKeyTool.main(ExportEncryptedPrivateKeyTool.java:79)我已經通過使用 keytool -list -v -keystore 仔細檢查了密鑰庫,它包含一個私鑰。
查看完整描述

3 回答

?
海綿寶寶撒

TA貢獻1809條經驗 獲得超8個贊

我終于通過使用標準的 Windows (10) 命令提示符(即“cmd”)解決了這個問題。System.getConsole 似乎正在為 cmd 返回一個非空值。

我無法找到有關 mingw64(我通常在 Windows 上使用的命令提示符)發生的情況以及為什么沒有設置 System.getConsole 的任何信息。


查看完整回答
反對 回復 2021-09-12
?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

我非常感謝@droidBomb 在之前的回答中給出的回應。

xamarin Android 的解決方案略有不同。必需的標志

--keystore 包含要導出的私鑰的密鑰庫的路徑(例如:C:\Users\YourName\Downloads\abc.keystore)"

--alias 密鑰庫中私鑰的別名(例如:上傳)

--encryptionkey 用于加密私鑰的公鑰。這將是公鑰的十六進制編碼字節。公開密鑰是一個4字節的身份隨后是64字節P256點(例如:eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a)。

--output 用于輸出加密私鑰的文件。(例如:C:\Users\YourName\Downloads\private_key.pem)

  1. 打開命令提示符

  2. 從您的應用程序的 Google 控制臺下載 pepk 文件。

  3. 準備如下命令

  4. Java的罐子 “C:\ Users \用戶YOURNAME \下載\ pepk.jar” --keystore = “C:\ Users \用戶YOURNAME \下載\ upload.keystore” --alias = “上傳” --encryptionkey = eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a --output ="C:\用戶\你的名字\下載\private_key.pem"

將在輸出路徑生成相應的 pem 文件


查看完整回答
反對 回復 2021-09-12
?
慕容3067478

TA貢獻1773條經驗 獲得超3個贊

您至少有 Java 版本 8(JDK 1.8)來運行語法:


java -jar PATH_TO_PEPK --keystore=PATH_TO_KEYSTORE --alias=ALIAS_YOU_USE_TO_SIGN_APK --output=PATH_TO_OUTPUT_FILE --encryptionkey=GOOGLE_ENCRYPTION_KEY


傳奇:


PATH_TO_PEPK = 您下載的 pepk.jar 的路徑,對于 Windows 用戶可能類似于C:\Users\YourName\Downloads\pepk.jar。

PATH_TO_KEYSTORE = 用于簽署發行版 APK 的密鑰庫路徑??赡苁穷愋偷奈募?.keystore或*.jks或不帶擴展名。類似于C:\Android\mykeystore或C:\Android\mykeystore.keystore。

ALIAS_YOU_USE_TO_SIGN_APK = 用于簽署發行版 APK 的別名的名稱。

PATH_TO_OUTPUT_FILE = 帶有.pem擴展名的輸出文件的路徑,類似于C:\Android\private_key.pem

GOOGLE_ENCRYPTION_KEY = 此加密密鑰應始終相同。您可以在 App Signing 頁面中找到它,復制并粘貼它。應該是這種形式:eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a59b3ef27558a59b3ef27558a59b3ef9d616b3e6d628d68d6b38e6d

例子:


java -jar "C:\Users\YourName\Downloads\pepk.jar"

--keystore="C:\Android\mykeystore" --alias=myalias --output="C:\Android\private_key.pem" --encryptionkey=eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a

在終端中輸入命令后,您需要提供以下信息:


密鑰庫密碼

別名密碼

如果一切順利,您現在將在PATH_TO_OUTPUT_FILE文件夾中擁有一個名為private_key.pem.


查看完整回答
反對 回復 2021-09-12
  • 3 回答
  • 0 關注
  • 1463 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號