[英]installation app blocked by play protect
嘗試安裝已簽名的應用程序 (app-release.apk) 時,會顯示“已被 Play Protect 阻止”警告,並且該應用程序未安裝。 但是,可以毫無問題地安裝未簽名的應用程序 (app-debug.apk)。
錯誤信息:
Play Protect 無法識別此應用的開發者。 來自未知開發者的應用程序有時可能不安全。
為什么會發生這個錯誤? 解決辦法是什么?
我找到了更好的解決方案。 如果你想要解決這個問題,你應該打開你的游戲商店,在菜單中找到Play Protect 和
並取消選中掃描設備以查找安全威脅 。
嘗試創建一個新的密鑰存儲並替換為舊的,然后重建一個新的簽名 APK。
更新:請注意,如果您使用與服務器的 http 連接,則應使用 SSL。
看一看: https : //developer.android.com/distribute/best-practices/develop/understand-play-policies
有三個選項可以消除此警告:
Google Play 通過您的密鑰庫找到您作為開發人員。
並且當您生成新的密鑰庫時,您的國家/地區 IP 可能在 Google 上被禁止。
更改您的 IP 地址並生成新的密鑰庫,問題將得到解決。
如果沒有成功,請在 Android Studio 中使用另一個 Gmail 並生成新的密鑰庫。
如果您不想在 Playstore 上上傳您的應用程序,我正在為仍在尋求解決此問題的其他人添加此答案,然后暫時有此問題的解決方法。
Google 正在提供安全設備驗證 api,您只需在應用程序中調用一次,之后您的應用程序將不會被播放保護阻止:
這里有鏈接:
https://developer.android.com/training/safetynet/attestation#verify-attestation-response
示例代碼項目的鏈接:
唯一對我有用的解決方案是使用 java keytool 並生成一個 . keystore
文件命令行,然后使用該.keystore
文件來簽署我的應用程序
您可以在此目錄C:\\Program Files\\Java\\jre7\\bin
找到 java keytool
打開命令窗口並切換到該目錄並輸入這樣的命令
keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
Keytool 會提示您提供密鑰庫的密碼、您的姓名、公司等。 請注意,在最后一個提示中,您需要輸入 yes。
然后它在您所在的目錄中生成一個名為 my-release-key.keystore 的文件作為密鑰庫。密鑰庫和密鑰受您輸入的密碼保護。 密鑰庫包含一個密鑰,有效期為 10000 天。 別名是您稍后將使用的名稱,用於在簽署您的應用程序時引用此密鑰庫。
有關 Keytool 的更多信息,請參閱以下文檔: http : //docs.oracle.com/javase/6/docs/technotes/tools/windows/keytool.html
有關簽署 Android 應用程序的更多信息,請訪問: http : //developer.android.com/tools/publishing/app-signing.html
如果您正在使用一些跟蹤器,例如google analytics
或amplitude
並且您嘗試在Google Play
以外的其他平台上發布您的應用程序,則會向用戶顯示此錯誤。 所以有兩種可能的解決方案:
Google Play
發布您的應用解決方案在於在生成簽名的 apk 時創建一個新密鑰。 這對我有用,沒有大驚小怪。
安裝時,警告不會出現。
這是由於調試證書過期只需刪除位於的debug.keystore
C:\Users\.android\
在構建您的項目之后,構建工具將重新生成一個新密鑰,它會正常工作。 這是一個參考:
https://developer.android.com/studio/publish/app-signing
我通過根據簽名證書詳細信息更改我的應用程序包名稱解決了這個問題。 起初我用 com.foo.xyz 創建了應用程序,但我的證書組織是“bar”。 所以我將包名更改為 com.bar.xyz,現在沒有 google play 保護警告!
沒有很精確的方法來解決這個問題,但是以下任務可以有效地解決這個問題
單擊無效緩存/重新啟動
做Android Studio的登錄過程
點擊生成簽名包/APK
完整填寫所有“生成簽名捆綁包”信息。
不要使用相同的密碼。 確保您的密碼在“生成簽名捆綁包”中不同。 最好用代碼 01 輸入美國的地址
可能對波斯語比較敏感,所以程序中最好不要用波斯語寫。 用英文編寫程序菜單,並在下次更新時使用波斯語
刪除額外權限
最后,轉到以下站點並請求故障排除https://support.google.com/googleplay/android-developer/answer/2992033?hl=en
正確填寫名字和姓氏
上傳安裝文件,例如在Dropbox中,並復制鏈接
如果您使用的是 Dropbox,請務必將鏈接末尾的數字0更改為1 ,然后提交或使用鏈接縮短站點。
如果您的請求未獲批准,請縮短安裝文件的鏈接,例如使用https://bit.ly站點
在描述部分,解釋問題。 為了您的方便,我會為您留下一個示例文本:
Greetings to the esteemed Google Team I am sending this request to fix the "Blocked by Pay Protect" error ****{Write your app info and your reasons}**** Fast, simple, free and lightweight, no annoying ads ,This app does not collect and store user data! Also, no unnecessary cost is imposed on the user and is completely free , It also certifies that this app does not harm user privacy and is not harmful to users Thank you
如果您沒有收到確認電子郵件,請在幾天后再次請求
如果有硬件更改,請嘗試重新下載或重新創建 jks 文件。
我也遇到過這樣的問題,它是在將我的 SSD 從一台 PC 移動到另一台之后發生的。 這暗示無需將應用程序發送給 Google 進行驗證:正在安裝一個舊的 apk 文件而沒有任何警告。 所以我用雲中的那個替換了我硬盤上的 android.jks,創建了一個簽名的 apk,問題就解決了。
如果您嘗試從 .apk 文件安裝應用程序,通常會發生此錯誤。 您可以做的第一件事是從手機的 Play 商店應用程序內部禁用 Play Protect:
打開 Google Play Store 應用程序 --> Play Protect --> 單擊頂部的設置圖標 --> 禁用掃描應用程序以確保安全
注意:為了安全起見,建議您在完成安裝后重新啟用它。
在此之后,您應該可以安裝該應用程序了。 如果您在單擊 .apk 文件時仍然收到類似“錯誤,未安裝應用程序”之類的錯誤消息,則表示您已經安裝了該應用程序的版本。 先卸載該應用程序,然后您可以毫無問題地從 .apk 文件安裝該應用程序。
不是解決方案,但您可以使用調試密鑰對發布版本進行簽名,以避免阻止來自 Google Play Protect 的安裝。 看起來 Play Protect 不會警告使用自動生成的debug.keystore
簽名的構建。
請注意,您的調試版本不是unsigned ,它們只是用調試密鑰簽名。
當然,您不能將構建用於生產分發(Google Play、Amazon 等),但它仍然值得用於需要高頻反饋循環的預生產內部測試。
您可以通過在build.gradle
添加配置來添加任務以使用 debug.keystore 構建發布,例如:
android {
buildTypes {
// add after the `release` definition
releaseDebugKey { initWith release }
}
signingConfigs {
// use debug.keystore for releaseDebugKey builds
releaseDebugKey { initWith debug }
}
}
然后執行./gradlew assembleReleaseDebugKey
以使用調試密鑰構建發布版本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.