簡體   English   中英

為什么我的簽名apk無法安裝?

[英]Why will my signed apk not install?

我已經開發了一段時間的應用程序,並使用Run As- > * Android Application *通過Eclipse在真實設備上運行 現在,我試圖將其首次分發給某些Beta版用戶。 我使用Eclipse通過通過向導生成的新密鑰庫來創建簽名的應用程序。 這似乎工作正常,當我與Jarsign核對時,我收到消息“ Jar已驗證”,盡管也有一些警告。 它們是“此Jar包含未驗證證書鏈的條目”和“此Jar包含不包含時間戳的簽名”。

然后,我將生成的apk復制到設備上並打開它。 但是收到消息“未安裝此應用程序”。 在日志目錄中,我可以看到: “包裹在輸入時沒有證書;請忽略!”

我發現有人建議回到JDK 6(以前確實有7),但這並沒有幫助。 一些人建議這可能是由於清單中的重復活動,所以我徹底檢查了清單。

我發現,如果我將apk重命名,以使其不再與軟件包的最后部分完全相同的名稱,它將突然起作用。

因此,如果軟件包是com.mydomain.myapp,而apk是myapp.apk,我會收到錯誤消息,但是如果是myapp_debug.apk,則安裝就可以了。

我覺得這很令人困惑,而且令人擔憂。 我想最終發布該應用程序,但不確定是否做錯了什么。

根據您的重命名使其能正常工作的描述,您已經在設備上安裝了具有相同程序包名稱的應用程序,但是使用了不同的證書(可能是用於Eclipse啟動安裝的調試證書)進行了簽名。

您必須簡單地刪除現有安裝,然后再安裝發行版本。 您可以從“設置”菜單或使用以下格式的ADB命令來執行此操作

adb uninstall your.package.name

請注意,此刪除操作將清除應用程序存儲的私人數據-這就是您必須執行此操作的部分原因,以防止冒名頂替者(自然擁有不同的證書)輕易獲取真實應用程序留下的數據。

還請記住,以這種方式向他人分發應用程序時,他們將需要在其設置菜單中允許未知/非市場來源。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM