แอพติดตั้งถูกบล็อกโดย play protect


118

เมื่อพยายามติดตั้งแอปพลิเคชันที่ลงนาม (app-release.apk) การแจ้งเตือน "ถูกบล็อกโดย Play Protect" จะปรากฏขึ้นและแอปไม่ได้ติดตั้ง อย่างไรก็ตามสามารถติดตั้งแอปพลิเคชันที่ไม่ได้ลงชื่อ (app-debug.apk) ได้โดยไม่มีปัญหา

ข้อความแสดงข้อผิดพลาด:

Play Protect ไม่รู้จักนักพัฒนาแอปนี้ บางครั้งแอปจากนักพัฒนาที่ไม่รู้จักอาจไม่ปลอดภัย

เหตุใดจึงเกิดข้อผิดพลาดนี้ ทางออกคืออะไร?

ภาพข้อผิดพลาด


2
ฉันประสบปัญหาเดียวกันกับแอปของฉันด้วย แม้ว่าบัญชี Google ของฉันจะถูกระงับเมื่อฉันพยายามเผยแพร่แอปของฉัน สิ่งที่ฉันรู้ว่าการอัปเดตของ Google Play ปกป้องรายการตรวจสอบด้วยชื่อแพ็คเกจที่ถูกระงับและหลังจากนั้นหากคุณพยายามติดตั้งชื่อแพ็คเกจเดียวกัน play protect เริ่มให้คำเตือนปลอม ฉันสร้างแอปใหม่โดยใช้ชื่อแพ็กเกจที่ถูกระงับและมีเฉพาะกิจกรรมหลักและไม่มีการเพิ่มรหัสอื่น ๆ ลงนามด้วยที่เก็บคีย์ apk ที่ถูกระงับและพยายามติดตั้ง การป้องกันการเล่นที่น่าอัศจรรย์แสดงให้เห็นการแจ้งเตือนที่เป็นอันตรายดังที่แสดงในคำถาม ฉันพยายามสร้างแพ็คเกจใหม่ด้วยแอพที่ถูกระงับทุกคลาส แต่ไม่มีการแจ้งเตือนจาก play
Panache

ดูวิธีแก้ปัญหาที่นี่: stackoverflow.com/a/54976730/984471
Manohar Reddy Poreddy

ปัญหาเดียวกันสำหรับฉัน แต่พบ Keystore อื่นที่ไม่ได้เผยแพร่แอปไปยัง Google Play ลงชื่อแอปอย่างถูกต้องและกล่องโต้ตอบนี้ไม่ปรากฏ! แม้ว่าคุณจะสร้างแอปใหม่ แต่ก็มีปัญหาได้ ฉันมีแอพพลิเคชั่นหลายตัวและ Keystore อื่น ๆ ทำงานได้ถูกต้องกับแอพใหม่ของฉัน! ฉันไม่รู้วิธีที่ Google ตัดสินใจเลือกผู้พัฒนาแอปที่ไม่รู้จัก! ฉันไม่เคยมีบัญชี Google Play Console
hamed hosiny

คำตอบ:


61

ฉันพบวิธีแก้ปัญหา: ไปที่ลิงค์ด้านล่างและส่งใบสมัครของคุณ

แบบฟอร์มการยื่นอุทธรณ์ Play Protect

หลังจากผ่านไปสองสามวันปัญหาจะได้รับการแก้ไข


3
@MostafaAzadi เหตุผลที่แท้จริงคืออะไร?
Behnam Maboudi

3
หากคุณไม่ได้ใช้ SSL และเปิดใช้งานการสื่อสารข้อความธรรมดาบนไฟล์ Manifest นั่นคือเหตุผล
DaniloDeQueiroz

1
หากคุณมีปัญหาโดยใช้ URL เพื่อดาวน์โหลดไฟล์ APK ของคุณนี่เป็นประโยชน์: stackoverflow.com/a/56513945/9710197
Mostafa Azadi

@DaniloDeQueiroz คุณแน่ใจหรือว่าปัญหาเกิดจากการสื่อสารที่ชัดเจน? ดังนั้นการลบandroid:usesCleartextTraffic="true"ควรแก้ปัญหาใช่ไหม ขอบคุณ.
AnthoPak

1
สวัสดี. ฉันไม่สามารถส่งแอปของฉันเพื่ออุทธรณ์การป้องกันของ Play จะอัพโหลด apk ได้อย่างไร? ฉันได้รับอีเมลแจ้งว่าไม่สามารถดาวน์โหลด apk ได้แม้ว่าฉันจะให้ลิงก์ดาวน์โหลดโดยตรงผ่าน GitHub ก็ตาม
SayantanRC

40

ฉันพบทางออกที่ดีกว่าแล้ว หากคุณต้องการที่จะเอาชนะปัญหานี้คุณควรเปิดร้านเล่นของคุณในเมนูค้นหาเล่นป้องกัน ที่นี่ และ ที่นี่ และยกเลิกการเลือกอุปกรณ์สแกนหาภัยคุกคามความปลอดภัย


78
นี่ไม่ใช่วิธีแก้ปัญหา เมื่อเราต้องแจกจ่ายแอปให้กับลูกค้าหรือผู้ใช้ (โดยไม่มี playstore) เราไม่สามารถใช้สิ่งนี้ได้
silwar

1
ขอบคุณทำงานได้ดีสำหรับฉันในการแก้ไขครั้งเดียวอย่างรวดเร็วสำหรับแอปที่โหลดด้านข้าง
GünterZöchbauer

1
@silwar ฉันไม่คิดว่ามีปัญหาบนอุปกรณ์ที่ไม่มี play store เนื่องจากตัวบล็อกคือ Play Store
Jemshit Iskenderov

@JemshitIskenderov ในกรณีของฉันมันเป็นปัญหาของที่เก็บคีย์ที่เสียหาย .. ฉันเปลี่ยนมันสำหรับแอพของฉัน (แอพสำหรับองค์กรจึงไม่ได้เผยแพร่ใน playstore) และปัญหาได้รับการแก้ไขแล้ว
silwar

1
ในกรณีของฉันปัญหาคือการใช้บริการเกมของ Google สำหรับแอปที่ไม่ได้เผยแพร่
Sattar Hummatli

18

ลองสร้างที่เก็บคีย์ใหม่และแทนที่ด้วยคีย์เก่าจากนั้นสร้าง APK ที่เซ็นชื่อใหม่

อัปเดต:โปรดทราบว่าหากคุณใช้การเชื่อมต่อ http กับเซิร์ฟเวอร์คุณควรใช้ SSL

ดูที่: https://developer.android.com/distribute/best-practices/develop/understand-play-policies


2
อาจเป็นเพราะใบรับรองที่ซื้อส่วนใหญ่มีอายุการใช้งานสูงสุดประมาณปีที่แล้ว กำหนดวันหมดอายุมากกว่า 50 ปี
Amirhosein Heydari

1
ฉันสร้างแอพนี้ในเดือนนี้และตั้งค่าความถูกต้อง (ปี) ของลายเซ็น 25 ปี
Mostafa Azadi

1
@MostafaAzadi, Amirhosein ฉันมีปัญหาเดียวกันที่นี่ เจออะไรมั้ย?
Behnam Maboudi

17
ใช่มันดูไร้สาระ ที่แย่กว่านั้นคือฉันได้รับป๊อปอัปนี้ในครั้งแรกที่ติดตั้งแอปพลิเคชันเท่านั้น แม้ว่าฉันจะยอมรับและติดตั้ง แต่ในการติดตั้งครั้งถัดไปจะบันทึก "การติดตั้งถูกบล็อกโดยไม่โต้ตอบ" และฉันได้รับข้อความ "ไม่ได้ติดตั้งแอป" บน UI ณ จุดนั้นเพียงปิดใช้งาน Play Protect ทั้งหมดหรือล้างข้อมูล Play Store จากการตั้งค่าทำให้ฉันได้รับป๊อปอัปอีกครั้ง สิ่งนี้เกิดขึ้นกับคีย์ที่เราสร้างขึ้นด้วยสคริปต์เดียวกันกับแอพอื่น ๆ ของเราที่อยู่ใน Play Store และทำงานได้ดี
zsmb13

8
Khosham miad faghat ma irani ha b hamchin moshkelayi bar mikhorim
MoHammaD ReZa DehGhani

12

Google Play พบว่าคุณเป็นนักพัฒนาผ่านคีย์สโตร์

และบางที IP ของประเทศของคุณอาจถูกแบนบน Google เมื่อคุณสร้างที่เก็บคีย์ใหม่

เปลี่ยนที่อยู่ IP ของคุณและสร้างที่เก็บคีย์ใหม่ปัญหาจะได้รับการแก้ไข

หากคุณทำไม่สำเร็จให้ใช้ Gmail อื่นใน Android Studio และสร้างที่เก็บคีย์ใหม่


คุณทำสิ่งนี้หรือไม่? ทำให้ฉันมีปัญหานี้และแอปพลิเคชันของฉันได้รับการรับรองความถูกต้องจากอิหร่านและไม่สามารถส่งใบสมัครจากการอุทธรณ์ได้ (ไม่สามารถทดสอบได้) ฉันจะแก้ปัญหาได้อย่างไร ขอบคุณครับ
Nima habibkhoda

4
มันไม่ได้ผลสำหรับฉัน! ฉันใช้ keytool เพื่อสร้างที่เก็บคีย์
Amir Shabani

11

มีสามตัวเลือกในการกำจัดคำเตือนนี้:

  1. คุณต้องปิดใช้งาน Play Protect ใน Play Store -> Play Protect -> ไอคอนการตั้งค่า -> สแกนอุปกรณ์เพื่อหาภัยคุกคามด้านความปลอดภัย
  2. เผยแพร่แอปที่ Google Play Store
  3. ส่งอุทธรณ์การเล่นการป้องกัน

7

ฉันกำลังเพิ่มคำตอบนี้สำหรับผู้อื่นที่ยังคงหาวิธีแก้ไขปัญหานี้หากคุณไม่ต้องการอัปโหลดแอปของคุณบน playstore แสดงว่ามีวิธีแก้ไขปัญหานี้ชั่วคราว

Google ให้บริการ API การตรวจสอบอุปกรณ์ความปลอดภัยซึ่งคุณต้องโทรเพียงครั้งเดียวในแอปพลิเคชันของคุณและหลังจากนั้นแอปพลิเคชันของคุณจะไม่ถูกบล็อกโดย play protect:

นี่คือลิงค์:

https://developer.android.com/training/safetynet/attestation#verify-attestation-response

ลิงก์สำหรับโครงการโค้ดตัวอย่าง:

https://github.com/googlesamples/android-play-safetynet


1
@ Ahmad แน่นอนว่ามันได้ผลเพื่อนร่วมงานของฉันทุกคนกำลังใช้ api นี้เพื่อแก้ปัญหาที่เราได้ส่งมอบ apks ต่างๆให้กับลูกค้ามากกว่า 20 รายการจนถึงตอนนี้และมันก็ทำงานได้อย่างสมบูรณ์แบบ
Mr.Patel

2

ทางออกเดียวที่ใช้ได้ผลสำหรับฉันคือใช้ java keytool และสร้างไฟล์. keystoreไฟล์บรรทัดคำสั่งจากนั้นใช้.keystoreไฟล์นั้นเพื่อลงนามแอปของฉัน

คุณสามารถค้นหา java keytool ได้ที่ไดเร็กทอรีนี้ C:\Program Files\Java\jre7\bin

เปิดหน้าต่างคำสั่งและเปลี่ยนไปที่ไดเร็กทอรีนั้นและป้อนคำสั่งเช่นนี้

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

Keytool แจ้งให้คุณระบุรหัสผ่านสำหรับที่เก็บคีย์ชื่อของคุณ บริษัท ฯลฯ โปรดทราบว่าในพรอมต์สุดท้ายคุณต้องป้อนใช่

จากนั้นจะสร้างที่เก็บคีย์เป็นไฟล์ชื่อ my-release-key.keystore ในไดเร็กทอรีที่คุณอยู่ที่เก็บคีย์และคีย์ได้รับการป้องกันโดยรหัสผ่านที่คุณป้อน ที่เก็บคีย์มีคีย์เดียวใช้ได้ 10,000 วัน นามแฝงเป็นชื่อที่คุณจะใช้ในภายหลังเพื่ออ้างถึงที่เก็บคีย์นี้เมื่อลงนามแอปพลิเคชันของคุณ

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ Keytool โปรดดูเอกสารที่: http://docs.oracle.com/javase/6/docs/technotes/tools/windows/keytool.html

และสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการลงนามแอป Android โปรดไปที่http://developer.android.com/tools/publishing/app-signing.html


3
หากมีการโหวตลดลงฉันต้องการทราบสาเหตุ ถ้าฉันทำอะไรผิดฉันอยากรู้
easazade

2

หากคุณกำลังใช้เครื่องมือติดตามบางอย่างเช่นgoogle analyticsหรือamplitudeและคุณกำลังพยายามเผยแพร่แอปของคุณในแพลตฟอร์มอื่นที่ไม่ใช่Google Playข้อผิดพลาดนี้จะปรากฏสำหรับผู้ใช้ ดังนั้นมีสองวิธีที่เป็นไปได้:

  1. ใช้เครื่องมือติดตามพิเศษในแอปของคุณ (ทดสอบ firebase และ appmetrica แล้วและใช้ได้)
  2. ปล่อยแอปของคุณใน Google Play

0

วิธีแก้ปัญหาอยู่ที่การสร้างคีย์ใหม่เมื่อสร้าง apk ที่ลงชื่อ สิ่งนี้ใช้ได้ผลสำหรับฉันโดยไม่ต้องเอะอะ

  1. คลิกที่สร้าง
  2. คลิกสร้าง Bundle ที่ลงนาม / APK ...
  3. เลือก Bundle / APK (ในกรณีของฉันคือ APK) แล้วคลิกถัดไป
  4. คลิกที่สร้างใหม่ (ตรวจสอบให้แน่ใจว่าคุณมีเส้นทางที่เก็บคีย์บนเครื่อง)
  5. หลังจากเสร็จสิ้นทุกอย่างคลิกเสร็จสิ้นเพื่อสร้าง apk ที่ลงชื่อของคุณ

เมื่อคุณติดตั้งคำเตือนจะไม่มา


0

เนื่องจากใบรับรองการดีบักหมดอายุเพียงแค่ลบที่debug.keystoreอยู่ที่

C:\Users\.android\

หลังจากนั้นสร้างโครงการของคุณเครื่องมือสร้างจะสร้างคีย์ใหม่ขึ้นมาใหม่และจะทำงานได้ดี นี่คือข้อมูลอ้างอิง:

https://developer.android.com/studio/publish/app-signing

-1

ไม่ใช่วิธีแก้ปัญหา แต่คุณสามารถใช้รหัสดีบักสำหรับการลงนามรุ่นรุ่นเพื่อหลีกเลี่ยงการบล็อกการติดตั้งจาก Google Play Protect debug.keystoreดูเหมือนว่าเล่นป้องกันไม่เตือนสำหรับสร้างเซ็นสัญญากับสร้างขึ้นโดยอัตโนมัติ

โปรดทราบว่าบิวด์ดีบักของคุณไม่ได้ลงนาม แต่เพียงแค่เซ็นชื่อด้วยคีย์การแก้ไขข้อบกพร่อง

แน่นอนว่าคุณไม่สามารถใช้บิลด์สำหรับการแจกจ่ายการผลิต (Google Play, Amazon ฯลฯ ) ได้ แต่ก็ยังคุ้มค่าสำหรับการทดสอบภายในก่อนการผลิตซึ่งต้องใช้ลูปตอบรับความถี่สูง

คุณสามารถเพิ่มงานเพื่อสร้างรีลีสด้วย debug.keystore โดยเพิ่มการกำหนดค่าในbuild.gradleสิ่งที่ต้องการ:

android {
  buildTypes {
    // add after the `release` definition
    releaseDebugKey { initWith release }
  }

  signingConfigs {
    // use debug.keystore for releaseDebugKey builds
    releaseDebugKey { initWith debug }
  }
}

จากนั้นดำเนินการ./gradlew assembleReleaseDebugKeyเพื่อสร้างรุ่นที่วางจำหน่ายด้วยคีย์การแก้ปัญหา

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.