簡體   English   中英

如何更改已在 Play 商店發布的應用的簽名密鑰? contentProvider 還有另一種有效的替代方案嗎?

[英]How to change the signing key of an app already published on play store? Is there another efficient alternative to contentProvider?

我遇到了與該問題完全相同的問題: java.lang.SecurityException: Permission Denial: opening provider when implement content provider

我已經解決了它: @CommonsWare 的答案

他在哪里說:

App B 與 App A 具有相同的<permission>元素,並且 App A 和 App B 都由相同的簽名密鑰簽名

但是在生成我的應用程序的應用程序包時, I have forgotten to sign them with the same signing key

根據我所做的研究:

一旦應用程序在 Play 商店中,就無法更改應用程序的歌唱鍵。

我的實際問題:

我最近在 Play Store 上放了兩個具有相同<permission>元素的應用程序。 當我第一次從 Play 商店安裝應用程序 A 時,我將無法安裝應用程序 B。當我第一次從 Play 商店安裝應用程序 B 時,我將無法安裝應用程序 A。我的一個應用程序不是當我先安裝其他應用程序時能夠安裝。

根據@commonware 的回答:

您需要從 Play 商店中刪除這兩個應用程序之一,並使用新的應用程序 ID 提交替換,該應用程序由與其他發貨應用程序相同的簽名密鑰簽名。

但我不想更改這兩個應用程序中的任何一個的應用程序 ID

關於如何解決這個問題的任何想法?

ContentProvider 是否有其他有效的替代方法可以在同一作者的兩個應用程序之間共享數據?

可以更改 Play 商店中已有應用的歌唱鍵。 但它現在有很大的缺點,幾年后就會消失。 它僅適用於運行 Android 9 及更高版本的設備。 所以你的 mindSkdVersion 必須是 28+。 這稱為密鑰輪換,它是 APK 簽名方案 v3 的一部分。 請參閱此鏈接

此外,除了信任相同的簽名密鑰之外,我不知道如何 100% 安全地在兩個應用程序之間更改數據。 不太安全的方法是僅依賴於已知的 applicationId(只是使用“com.myapp.someaction”發送 Intent),攻擊者當然可以使用和旁加載應用程序或使用其他分發。 更難破解的方法是直接使用Android IPC / AIDL

暫無
暫無

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

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