Play Protect에 의해 차단 된 설치 앱


117

서명 된 애플리케이션 (app-release.apk)을 설치하려고 할 때 "Play Protect에 의해 차단됨"경고가 표시되고 앱이 설치되지 않습니다. 그러나 서명되지 않은 응용 프로그램 (app-debug.apk)은 문제없이 설치할 수 있습니다.

오류 메시지 :

Play 프로텍트가이 앱의 개발자를 인식하지 못합니다. 알 수없는 개발자의 앱은 때때로 안전하지 않을 수 있습니다.

이 오류가 발생한 이유는 무엇입니까? 해결책은 무엇입니까?

오류 이미지


2
내 앱에서도 같은 문제에 직면했습니다. 내 앱을 게시하려고 할 때 내 Google 계정이 일시 중지되었지만. Google 업데이트 플레이는 일시 중지 된 패키지 이름으로 체크리스트를 보호하고 나중에 동일한 패키지 이름을 설치하려고하면 플레이 프로텍트가 가짜 경고를주기 시작한다는 것을 알고 있습니다. 일시 중단 된 패키지 이름과 주요 활동 만 있고 다른 코드는 추가되지 않은 새 앱을 만들었습니다. 일시 중지 된 apk 키 저장소로 서명하고 설치를 시도했습니다. 놀랍게도 Play Protect는 귀하의 질문에 표시된 것처럼 유해한 경고를 보여주었습니다. 나는 또한 모든 클래스의 일시 중단 된 앱으로 새 패키지를 만들려고했지만 플레이별로 경고하지 않았습니다.
Panache

여기에서 솔루션을 참조하십시오. stackoverflow.com/a/54976730/984471
Manohar Reddy Poreddy

나에게 같은 문제가 있지만 앱을 Google Play에 게시하지 않은 다른 Keystore를 발견하고 앱에 올바르게 서명하면이 대화 상자가 나타나지 않습니다! 새로운 앱을 만들더라도 상자에서 나오는 문제가 있습니다. 여러 응용 프로그램이 있고 다른 Keystore가 새 응용 프로그램에서 올바르게 작동합니다! Google에서 알려지지 않은 앱 개발자를 결정하는 방법을 모르겠습니다! Google Play 콘솔 계정이 없습니다.
hamed hosiny

답변:


61

해결책을 찾았습니다. 아래 링크로 이동하여 신청서를 제출하십시오.

Play Protect 이의 제기 제출 양식

며칠 후 문제가 해결됩니다.


3
@MostafaAzadi 정확한 이유는 무엇입니까?
Behnam Maboudi

3
SSL을 사용하지 않고 매니페스트에서 일반 텍스트 통신을 활성화 한 경우 그 이유입니다.
DaniloDeQueiroz

1
당신이 당신의 APK 파일을 다운로드하는 URL에 의해 문제가있는 경우,이 helful입니다 : stackoverflow.com/a/56513945/9710197
모스 타파 아자 디

@DaniloDeQueiroz 문제가 일반 텍스트 통신 때문이라고 확신하십니까? 제거 android:usesCleartextTraffic="true"하면 문제가 해결 될까요? 감사.
AnthoPak

1
안녕하세요. Play Protect에 항소하기 위해 앱을 제출할 수 없습니다. APK를 업로드하는 방법? GitHub를 통해 직접 다운로드 링크를 제공하고 있지만 apk를 다운로드 할 수 없다는 이메일을 받았습니다.
SayantanRC

40

더 나은 해결책을 찾았습니다. 당신은 당신이 당신의 Play 스토어를 열해야이 문제를 정복 메뉴에서 찾으려면 보호 플레이 여기여기 선택을 취소 기기에 보안 위협이 있는지 검색을 .


78
이것은 해결책이 아닙니다. 우리가 클라이언트 또는 (PLAYSTORE없이) 사용자에게 응용 프로그램을 배포 할 때, 우리는이 사용할 수 없습니다
silwar

1
감사합니다. 사이드로드 된 앱에 대한 빠른 일회성 수정을 위해 잘 작동했습니다.
Günter Zöchbauer

1
@silwar 플레이 스토어가없는 기기에 문제가 있다고 생각하지 않습니다. 차단기는 Play 스토어이기 때문입니다.
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 스토어 데이터를 삭제하면 팝업이 다시 표시됩니다. 이것은 Play 스토어에 있고 정상적으로 작동하는 수십 개의 다른 앱과 동일한 스크립트로 생성 한 키로 발생합니다.
zsmb13

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

12

Google play는 키 저장소 를 통해 개발자를 찾습니다 .

새 키 저장소를 생성 할 때 국가 IP가 Google에서 금지 될 수 있습니다.

IP 주소를 변경하고 새 키 저장소를 생성하면 문제가 해결됩니다.

성공하지 못한 경우 Android Studio에서 다른 Gmail을 사용하고 새 키 저장소를 생성하십시오.


이거 했어? 이 문제가 있고 내 응용 프로그램이이란에서 인증을 받았으며 항소에서 응용 프로그램을 보낼 수 없습니다 (테스트 할 수 없음). 어떻게 해결할 수 있습니까? 감사합니다 친구
니마 habibkhoda

4
그것은 나를 위해 작동하지 않았습니다! 내가 만드는 키 스토어에 대한 키 도구를 사용
아미르 샤 바니

11

이 경고를 제거하는 세 가지 옵션이 있습니다.

  1. Play 스토어-> Play Protect-> 설정 아이콘-> 장치에서 보안 위협을 검색하여 Play Protect를 비활성화해야합니다.
  2. Google Play 스토어에 앱 게시
  3. Play 프로텍트에 이의 제기를 제출합니다 .

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 ofcourse 작동합니다. 모든 동료가이 API를 사용하여 지금까지 고객에게 20 개 이상의 서로 다른 APK를 넘겨 준 문제를 해결하고 있으며 완벽하게 작동합니다
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은 키 저장소, 사용자 이름, 회사 등에 대한 암호를 입력하라는 메시지를 표시합니다. 마지막 프롬프트에서 yes를 입력해야합니다.

그런 다음 사용자가있는 디렉토리에 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. 서명 된 번들 / APK 생성 ...을 클릭합니다.
  3. 번들 / APK (제 경우에는 APK)를 선택하고 다음을 클릭합니다.
  4. 새로 만들기를 클릭하십시오 (컴퓨터에 키 저장소 경로가 있는지 확인하십시오)
  5. 모든 것이 끝나면 마침을 클릭하여 서명 된 APK를 생성하십시오.

설치할 때 경고가 표시되지 않습니다.


0

디버그 인증서가 만료 되었기 때문 debug.keystore입니다.

C:\Users\.android\

프로젝트를 빌드하면 빌드 도구가 새 키를 다시 생성하고 제대로 작동합니다. 다음은 참조입니다.

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

-1

해결책은 아니지만 릴리스 빌드 에 서명하는 데 디버그 키를 사용 하여 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하여 디버그 키로 릴리스 빌드를 빌드하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.