Google Play 스토어에 내 Android 앱이 내 기기와 호환되지 않는다고 표시되는 이유는 무엇입니까?


91

많은 사람들이 비슷한 문제를 가지고있는 것처럼 보이지만 특정 사례를 해결하는 해결책을 찾지 못한 것 같아서이 질문을하는 것이 주저 합니다.

Android 앱 ( 실제 앱 링크)을 개발 하여 Play 스토어에 업로드했습니다. Play 스토어에 따르면

"This app is incompatible with your XT Mobile Network HTC HTC Wildfire S A510b."

물론 그것이 제가 앱을 개발 한 전화기이므로 호환 되어야 합니다. 다른 기기를 사용하는 사람들은 호환된다고 말하고 다른 사람들은 호환되지 않는다고 말하지만 추세를 찾을 수 없습니다. (분명히 저는 Android 기기를 사용하는 사람을 많이 알지 못합니다.)

나는 다음을 시도했다 :

  • 이 답변에서res/raw 제안한대로 디렉토리 에서 큰 파일을 이동합니다 . 거기에있는 유일한 파일은 ~ 700kB 텍스트 파일 이었지만 명백한 변경없이 파일을 옮겼습니다 .assets/

  • 다음 두 가지 기능 어설 션 추가 :

    <uses-feature android:name="android.hardware.faketouch" />
    <uses-feature android:name="android.hardware.touchscreen" android:required="false" />
    

    내 휴대 전화가 일반적인 android.hardware.touchscreen기능 을 지원하지 않는다고 생각 하지만 다시 한 번 명백한 변화는 없습니다.

APK를 Play 스토어에 업로드 할 때 활성으로보고하는 유일한 필터는 android.hardware.faketouch기능입니다.

다음은의 출력입니다 aapt dump badging bin/NZSLDict-release.apk.

package: name='com.hewgill.android.nzsldict' versionCode='3' versionName='1.0.2'
sdkVersion:'4'
targetSdkVersion:'4'
uses-feature:'android.hardware.faketouch'
uses-feature-not-required:'android.hardware.touchscreen'
application-label:'NZSL Dictionary'
application-icon-160:'res/drawable/icon.png'
application: label='NZSL Dictionary' icon='res/drawable/icon.png'
launchable-activity: name='com.hewgill.android.nzsldict.NZSLDictionary'  label='NZSL Dictionary' icon=''
main
other-activities
supports-screens: 'small' 'normal' 'large'
supports-any-density: 'true'
locales: '--_--'
densities: '160'

완전성을 위해 내 매니페스트 파일 :

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.hewgill.android.nzsldict"
      android:versionCode="3"
      android:versionName="1.0.2">
    <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="4" />
    <uses-feature android:name="android.hardware.faketouch" />
    <uses-feature android:name="android.hardware.touchscreen" android:required="false" />
    <application android:label="@string/app_name"
        android:icon="@drawable/icon">
        <activity android:name="NZSLDictionary"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".WordActivity" />
        <activity android:name=".VideoActivity" />
        <activity android:name=".AboutActivity" />
    </application>
</manifest> 

Play 스토어의 '기기 가용성'섹션에서 Wildfire S를 포함한 모든 HTC 기기가 지원되는 것을 확인할 수 있습니다. 'G1 (송어)'및 'Touch Viva (opal)'를 제외한 모든 기기가 지원됩니다. 실제로 "Wildfire S (marvel)"와 "Wildfire S A515c (marvelc)"가 모두 지원되는 것으로 표시되어 있지만 "Wildfire S A510b"는 구체적으로 언급되지 않았습니다. 이런 종류의 하위 모델 식별자가 그렇게 중요 할 수 있습니까? Google Play에서 다른 여러 앱을 문제없이 내 휴대 전화로 다운로드 할 수있었습니다.

이 시점에서 내가 하지 않은 유일한 일은 최신 버전을 업로드 한 후 ( 이 댓글 에서와 같이) 4 ~ 6 시간을 기다려 내 휴대 전화와 여전히 호환되지 않는지 확인하는 것입니다. 그러나 현재 Play 스토어 페이지에는 내가 업로드 한 최신 버전 인 1.0.2가 표시됩니다.


전화 관련 문제를 해결하는 데 도움이 된 것은 ACRA를 설정하는 것이 었습니다. code.google.com/p/acra 응용 프로그램을 처음 시작할 때 실행하여 전화의 전체 사양을 가져오고이 handleSilentException방법을 사용하여 조용히보고합니다. 적어도 앱이 어떤 하드웨어에서 작동하는지 알려줄 것입니다.
Gavin Miller

2
@GavinMiller : 감사합니다.하지만 Play 스토어가 앱 제공을 전혀 거부 할 때 도움이 될지 모르겠습니다.
Greg Hewgill

"다른 장치를 사용하는 사람들은 호환된다고 말하는 사람도 있고 호환되지 않는다고 말하는 사람도 있지만 추세를 찾을 수 없다고 말하는 사람도 있습니다."라는 귀하의 의견을 오해했을 수도 있습니다. 모르는 많은 사람들이 앱을 다운로드하고 설치할 수 있다면 더 큰 하드웨어 데이터 풀을 수집하여 추세를 형성 할 수 있습니다. 따라서 "안드로이드 기기를 사용하는 사람이 많지 않습니다." 발행물.
Gavin Miller

@GavinMiller : 그러나 이는 Google Play에서 설치할 있다고 생각하는 기기 만 알려주고 Google Play에서 설치할 수 없다고 판단하는 기기에 대한 정보는 제공하지 않습니다 . 게다가 어떤 장치가 정상인지 아닌지 확실하게 알더라도이 문제를 해결하는 데 도움이되지 않습니다.
Greg Hewgill

이 솔루션이 나를 위해 작동하는지 확인하십시오. stackoverflow.com/a/14020303/3392323
SAndroidD

답변:


84

대답은 전적으로 응용 프로그램 크기와 관련된 것으로 보입니다. 매니페스트 파일에 특별한 내용이없는 간단한 "hello world"앱을 만들어 Play 스토어에 업로드했으며 내 기기와 호환되는 것으로보고되었습니다.

res/drawable디렉토리에 더 많은 콘텐츠를 추가하는 것 외에는이 앱에서 아무것도 변경하지 않았습니다 . .apk크기가 약 32MB에 도달 했을 때 Play 스토어에서 내 앱이 내 휴대 전화와 호환되지 않는다고보고하기 시작했습니다.

Google 개발자 지원팀에 연락하여이 제한의 이유에 대한 설명을 요청하겠습니다.

업데이트 : 다음은 이에 대한 Google 개발자 지원 응답입니다.

메모 감사합니다. 현재 Google Play에 앱을 업로드하기위한 최대 파일 크기 제한은 약 50MB입니다.

그러나 일부 기기는 캐시 파티션이 50MB 미만이므로 사용자가 앱을 다운로드 할 수 없습니다. 예를 들어 HTC Wildfire 장치 중 일부는 35-40MB 캐시 파티션이있는 것으로 알려져 있습니다. Google Play에서 앱을 저장할만큼 캐시가 충분하지 않은 기기를 식별 할 수있는 경우 사용자에게 표시되지 않도록 필터링 할 수 있습니다.

결국 모든 PNG 파일을 JPG로 변환하여 품질을 약간 떨어 뜨리면서 문제를 해결했습니다. 이제 .apk파일은 28MB로 Google Play가 내 휴대 전화에 적용하는 임계 값보다 낮습니다.

나는 또한 모든 것을 제거 <uses-feature>했고 이제는 다음과 같습니다.

<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" />

매우 흥미롭고 귀중한 정보. 그리고 이것이 어디에도 문서화되지 않은 것이 너무 짜증납니다.
Michael A.

2
사실, Wildfire 전화가 없었 더라면 문제에 대해 알지 못했을 것입니다.
Greg Hewgill

32MB, 35MB, 44MB의 3 가지 게임이 있습니다. 내 자신의 HTC 브라보는 처음 두 게임을보고 스토어에서 세 번째 게임을 보지 못합니다. 내 친구의 HTC 욕망 S는 첫 경기 만 본다. 따라서 대부분의 (?) 장치에서 볼 수 있으려면 게임의 크기가 33MB 미만이어야합니다. 불행히도 나는이 답장을 너무 늦게 보았고 몇 달 동안 문제에 대해 몰랐습니다 ... 나는 그것이 장치의 프로세서 유형, 지원되는 OpenGL 버전, 매니페스트에 설정된 제한 또는 무언가에 달려 있다고 확신했습니다. Sigh ..
iseeall dec

7
Google이 Play 스토어에 비 호환성에 대한 이유를 나열하지 않는 것은 미쳤습니다. 나는 항상 적어도 앱 개발자가이 정보를 받았을 것이고 의식적으로 내 기기를 지원하지 않기로 선택했을 것이라고 생각했습니다. 이런 상황이 어떻게 그렇게 오랫동안 남아 있습니까?
Gerry

1
@GregHewgill 안녕하세요 Greg. 비슷한 종류의 문제에 대해 Google 지원에 문의했습니다. 내 앱 크기가 5MB에 불과했기 때문에 Google Play가 특정 기기에서 내 애플리케이션을 필터링 한 다른 옵션을 찾고있었습니다. 연락 한 지 72 시간이 지났는데 아무런 설명도 안 했어요. 일반적인 문의하기 외에 Google 지원에 문의 할 수있는 방법이 있습니까?
hemanth kumar

16

나는 이것도 만났다-나는 Lenovo IdeaTab A2107A-F에서 모든 개발을 수행했으며 여기에서 개발 빌드를 실행할 수 adb install있으며 문제없이 서명 된 APK (로 설치됨 )를 릴리스 할 수도 있습니다. 알파 테스트 모드로 게시되고 Google Play에서 사용할 수있게되면 '기기와 호환되지 않음'오류 메시지가 표시됩니다.

AndroidManifest.xml튜토리얼에서 다음 항목을 배치 한 것으로 나타났습니다 .

<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-permission android:name="android.permission.CAMERA" />

음, Lenovo IdeaTab A2107A-F에는 자동 초점 카메라가 없습니다 ( http://www.phonearena.com/phones/Lenovo-IdeaTab-A2107_id7611 , Cons : lacks autofocus camera). 그 기능을 사용하고 있는지 여부에 관계없이 Google Play는 아니오라고 말했습니다. 그것이 제거되면 내 APK를 다시 빌드하고 Google Play에 업로드했으며 이제 IdeaTab이 호환되는 장치 목록에 충분히 있는지 확인했습니다.

따라서 모든 항목을 <uses-feature>다시 확인하고 웹에서 복사하여 붙여 넣은 경우 다시 확인하십시오. 사용하지 않는 기능을 요청했을 가능성이 있습니다.


4
감사합니다 ! 다른 <uses-feature>를 사용하고있었습니다. <uses-feature android : name = "android.hardware.camera2"/> 그 때문에 ZERO 호환 장치가있었습니다. 나는 선을 제거하고 지금은 10000이
잭 '

계속 사용하도록 설정할 수는 있지만 필수는 아닙니다. <uses-feature android : name = "android.hardware.camera.autofocus"android : required = "false"/>
DrChandra

1
<uses-feature android : name = "android.hardware.camera2"/>로 인해 내 앱이 호환되지 않아 Playstore에서 앱을 찾을 수 없습니다. 내 인생 저장
아난드 Savjani

11

응용 프로그램에서 비디오를 오프라인으로 사용하려는 고객을 위해 응용 프로그램을 개발하는 동안에도이 문제가 발생했습니다. 몇 달 동안 작업 한 앱이 내 기기의 Play 스토어에 표시되지 않는 이유에 대한 블로그 게시물을 작성했습니다 ( 게시물은 여기에서 찾을 수 있음 ). @Greg Hewgill이 찾은 것과 동일한 것을 발견했습니다 . 일부 장치의 캐시 파티션 제한 .

그 여정은 거기서 멈추지 않았습니다. 고객은 이러한 비디오를 응용 프로그램에 포함하고 싶었고 비디오 품질이 저하되는 것을 원하지 않았습니다. 몇 가지 조사 끝에 확장 파일사용 하는 것이 우리 문제에 대한 완벽한 해결책 이라는 것을 알게 되었습니다.

내 지식을 Android 커뮤니티와 공유하기 위해 droidconNL 2012 에서 확장 파일에 대한 강연을 가졌습니다 . 확장 파일 사용을 얼마나 쉽게 시작할 수 있는지 설명하기 위해 프레젠테이션과 샘플 코드를 만들었습니다. 이 문제를 해결하기 위해 확장 파일을 사용하려는 분들 은 프레젠테이션과 샘플 코드가 포함 된 게시물 을 확인하십시오.


4
게시물에 언급 된 Google 지원 링크는 이제 오래되었으며 새 링크는 support.google.com/googleplay/android-developer/answer/… 입니다. 최신 링크와 btw, 멋진 게시물로 기사를 업데이트하기를 바랍니다. !!
Rohan Kandwal

7

support-screens 속성을 시도하고 설정할 수 있습니다.

<supports-screens
    android:largeScreens="true"
    android:normalScreens="true"
    android:smallScreens="true"
    android:xlargeScreens="true" >
</supports-screens>

Wildfire에는 작은 화면이 있으며 문서에 따르면이 속성은 모든 경우에 기본적으로 "true"로 설정되어야하지만 다른 휴대 전화의 지원 화면 설정에 알려진 문제가 있으므로 어쨌든 시도해 보겠습니다.

또한 David가 제안한 것처럼 항상 최신 버전의 Android API에 대해 컴파일하고 타겟팅하지 마십시오. 2.2 이전의 거의 모든 SDK에는 심각한 문제 나 이상한 동작이 있습니다. 후자의 SDK는 많은 문제를 해결하거나 은폐하는 데 도움이됩니다 (모두는 아니지만). Lint 도구를 사용하여 릴리스를 준비 할 때 앱이 API 4와 호환되는지 확인할 수 있습니다.


감사합니다. 최근 지원 요청에 대한 Google 개발자 지원팀의 응답을 기다리고 있습니다. 응답을받은 후 시도해 보겠습니다 (다른 APK를 업로드하여 혼동하고 싶지 않습니다). 이것이 어떻게 밝혀 졌는지 알려줄 것입니다.
Greg Hewgill

너무 오래 기다릴 필요가 없기를 바랍니다. 그들은 신속한 대응에 대한 평판이 정확하지 않습니다. :-)
Michael A.

나는 그들과 이미 몇 번왔다 갔다했지만, 내 최근 질문은 22 시간 동안 답을 얻지 못했습니다. 기다려야하는 것은 실망 스럽지만 적어도 미션 크리티컬 한 것은 아닙니다.
Greg Hewgill

문제를 발견했음을 알리고 싶었습니다.이 질문에 대한 제 답변을 참조하십시오. 당신의 도움을 주셔서 감사합니다.
Greg Hewgill

7

Finlay, 내 응용 프로그램에서 동일한 문제에 직면했습니다. android:minSdkVersion="7" & android:targetSdkVersion="18"최신 버전의 Android 플랫폼 인 Phone Gap 앱을 개발했습니다 .

Google 문서 도구를 사용하여 문제를 발견했습니다.

문제가 될 수있는 것은 KEY-CODE알파벳 및 숫자 만 확인 하는 JS 기능을 작성 했지만 키보드에는 컴퓨터 키보드 및 모바일 키보드에 대해 특별히 다른 키 코드가 있습니다. 그래서 그것이 제 문제였습니다.

내 대답이 맞는지 아닌지 잘 모르겠고 위의 대답에 웃는 얼굴이 될 수도 있지만 앱을 구축하는 동안주의해야 할 몇 가지 사항을 나열하려고 노력할 것입니다. 이런 종류의 문제를 해결하십시오.

  • android:minSdkVersion="?"요구 사항에 따라 를 사용하고 android:targetSdkVersion="?"앱이 타겟팅 할 최신 버전이어야합니다. 더보기

  • 응용 프로그램에서 사용할 권한 만 추가하고 불필요한 것은 모두 제거하십시오.

  • 애플리케이션별로 지원되는 화면 확인

    <supports-screens 
    android:anyDensity="true"
    android:largeScreens="true"
    android:normalScreens="true"
    android:resizeable="true"
    android:smallScreens="true"
    android:xlargeScreens="true"/>
    
  • 일부 장치 또는 탭에서 늦게 실행할 수없는 의상 코드 또는 의상 위젯을 구현했을 수 있으므로 긴 코드를 작성하기 전에 먼저 베타 코드를 작성하고 코드가 모든 장치에서 실행되는지 테스트 해보십시오. .

  • 그리고 Google이 앱을 업로드하기 전에 코드를 확인할 수있는 도구를 게시하고 특정 이유로 인해 일부 기기에서 앱을 실행할 수 없으므로 쉽게 해결할 수 있다고 말합니다.


6

몇 가지 제안이 있습니다.

  1. 우선, API 4를 타겟으로 사용하고있는 것 같습니다. AFAIK, 항상 최신 SDK에 대해 컴파일하고 android:minSdkVersion그에 따라 설정하는 것이 좋습니다 .

  2. 이를 염두에두고 android:required속성 이 API 5에 추가 되었음을 기억하십시오 .

기능 선언에는 android:required=["true" | "false"]속성 (API 레벨 5 이상에 대해 컴파일하는 경우)이 포함될 수 있으며 ,이를 통해 애플리케이션 (...)

따라서 SDK 15에 대해 컴파일 targetSdkVersion하고 15로 설정 하고 해당 기능을 제공하는 것이 좋습니다 .

또한 여기 Play 사이트에서 (우연?) Gingerbread (여기서는 Galaxy Ace 및 Galaxy Y) 인 모든 장치와 호환되지 않는 것으로 표시 됩니다 . 하지만 내 Galaxy Tab 10.1 ( Honeycomb ), Nexus S 및 Galaxy Nexus (모두 ICS에서 ) 와 호환되는 것으로 표시됩니다 .

그것도 궁금 해졌고 이것은 매우 거친 추측이지만 android.hardware.faketouch API11 + 이므로 작동하는지 확인하기 위해 제거하는 것이 어떻습니까? 또는 API 4에서 사용할 수없는 기능 ( faketouch)과 required속성 을 사용하려고하기 때문에 어쨌든 모든 관련 이 있습니다.이 경우 최신 API에 대해 컴파일해야합니다.

나는 그것을 먼저 시도하고 faketouch마지막 수단으로 만 요구 사항을 제거 할 것입니다 (물론) --- 개발할 때 작동하기 때문에 컴파일 된 앱이 기능을 인식하지 못하는 문제라고 말하고 싶습니다 (SDK 요구 사항으로 인해) , 따라서 Play에 예기치 않은 필터링 문제가 남습니다.

이 추측이 귀하의 질문에 대한 답이 아니라면 죄송합니다. 그러나 이러한 종류의 문제를 진단하고 실제로 테스트하지 않고 해결책을 찾아내는 것은 매우 어렵습니다. 또는 Play가 실제로 앱을 필터링하는 방법에 대한 적절한 지식이없는 저에게는 적어도.

행운을 빕니다.


감사합니다. 구체적인 아이디어를 얻었습니다. 원래는 <uses-feature>태그 가 전혀 없었 습니다. 그것은 더 적은 수의 장치가 아닌 더 많은 장치와 호환되도록 만들려는 시도였습니다. 가장 가능성있는 접근 방식 인 것처럼 보이는 SDK 버전 태그를 변경해 보겠습니다. minSdkVersion="4"해당 버전이 더 이상 내 앱에 필요하지 않은 일부 권한 (전화 상태 읽기, sd 카드 수정)을 암시하지 않기 때문에 사용했던 것을 추가 해야합니다.
Greg Hewgill

SDK 버전을로 변경해도 android:minSdkVersion="5" android:targetSdkVersion="15"도움이되지 않았습니다. Google Play 개발자 지원팀에 연락했는데 이유를 알려줄 수 있기를 바랍니다. 필터링 이유 가 Play 앱 페이지에 표시 되면 좋을 것 입니다.
Greg Hewgill

네, 그게 좋을 것 같아요. 한편,로 설정해 faketouch보셨습니까 required= false?
davidcesarino

<uses-feature>Google 지원에서 내 기기를 사용할 수없는 이유가 android.hardware.faketouch기능 때문이라고 알려 주었기 때문에 최신 반복은 모든 태그를 제거 합니다. 특히 내 이전 버전 중 하나에 <uses-feature>태그 가 없었기 때문에 말도 안되는 것 같습니다 . 나는 그들의 응답을 기다리고 있으며 다른 버전을 업로드하여 그들을 혼동하고 싶지 않습니다. 반복적으로 새 APK를 업로드하고 게시하지 않고이를 테스트 할 수있는 방법이 있다면 좋을 것입니다.
Greg Hewgill

나중에 sdk 버전 (api 11)에 추가 된 플래그이기 때문에 어리석은 말은하지 않습니다. 따라서 내가 api15에 대해 컴파일하고 대상을 지정하도록 제안한 이유는 매니페스트뿐만 아니라 project.properties를 변경하는 것을 잊지 마십시오. 나는 여전히 필요에 따라 설정하는 것에 놀랐습니다 = false는 작동하지 않았습니다.
davidcesarino

6

위의 '이 앱은 당신의 ...와 호환되지 않습니다.'문제에 대한 추가 솔루션을 제공하기 위해 다른 문제 원인에 대한 솔루션을 공유하겠습니다. 저가형 Samsung Galaxy Y (GT-S6350) 기기에 앱을 설치하려고했는데 Play 스토어에서이 오류가 발생했습니다. 다양한 AndroidManifest 구성을 테스트하기 위해 내 기기가 지원되는 기기 목록에 나타날 때까지 https://stackoverflow.com/a/5449397/372838에 설명 된대로 계정을 만들고 루틴을 따랐 습니다.

카메라 권한을 사용하면 많은 장치가 호환되지 않는 것으로 나타났습니다.

<uses-permission android:name="android.permission.CAMERA" />

특정 권한을 제거했을 때 응용 프로그램은 870 대가 아닌 1180 대의 장치에서 사용할 수있었습니다. 누군가에게 도움이되기를 바랍니다.


7
도움이 될 수 있습니다. <uses-permission android : name = "android.permission.CAMERA"/> <uses-feature android : name = "android.hardware.camera"android : required = "false"/>
user1205415

6

기능 요구 사항을 암시하는 권한

예를 들어 android.hardware.bluetooth 기능은 Android 2.2 (API 레벨 8)에 추가되었지만 참조하는 블루투스 API는 Android 2.0 (API 레벨 5)에 추가되었습니다. 이로 인해 일부 앱은 시스템을 통해 API가 필요하다고 선언하기 전에 API를 사용할 수있었습니다.

이러한 앱이 의도 치 않게 제공되는 것을 방지하기 위해 Google Play는 특정 하드웨어 관련 권한이 기본 하드웨어 기능이 기본적으로 필요함을 나타내는 것으로 가정합니다. 예를 들어 블루투스를 사용하는 애플리케이션은 요소에서 BLUETOOTH 권한을 요청해야합니다. 레거시 앱의 경우 Google Play는 권한 선언이 애플리케이션에 기본 android.hardware.bluetooth 기능이 필요함을 의미한다고 가정하고 해당 기능을 기반으로 필터링을 설정합니다. .

아래 표에는 요소에 선언 된 것과 동일한 기능 요구 사항을 암시하는 권한이 나열되어 있습니다. 선언 된 android : required 속성을 포함한 선언은 항상 아래 권한이 암시하는 기능보다 우선합니다.

아래 권한의 경우 android : required = "false"속성을 사용하여 암시 적 기능을 명시 적으로 요소에서 선언하여 암시 적 기능을 기반으로하는 필터링을 사용 중지 할 수 있습니다. 예를 들어 CAMERA 권한에 따라 필터링을 비활성화하려면 매니페스트 파일에 다음 선언을 추가합니다.

<uses-feature android:name="android.hardware.camera" android:required="false" />


<uses-feature android:name="android.hardware.bluetooth" android:required="false" />
<uses-feature android:name="android.hardware.location" android:required="false" />
<uses-feature android:name="android.hardware.location.gps" android:required="false" />
<uses-feature android:name="android.hardware.telephony" android:required="false" />
<uses-feature android:name="android.hardware.wifi" android:required="false" />

http://developer.android.com/guide/topics/manifest/uses-feature-element.html#permissions


감사합니다! 사용 권한이 필요한 기능으로 기본 설정되어 있는지 전혀 몰랐습니다.
Jim Pekarek 2017-10-04


3

이미 꽤 많은 답변이 있지만 내 답변이 나와 똑같은 문제를 가진 사람들에게 도움이 될 것이라고 생각했습니다. 제 경우에는 광고 네트워크 제안에 따라 추가 된 다음 권한으로 인해 문제가 발생합니다.

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

위 권한의 결과로 다음 기능이 자동으로 추가됩니다.

android.hardware.LOCATION
android.hardware.location.GPS
android.hardware.location.NETWORK

그 이유는 "Google Play는 매니페스트 파일에 선언 된 다른 요소, 특히 요소를 검사하여 애플리케이션의 묵시적 기능 요구 사항을 찾으려고합니다." 내 테스트 기기 중 두 대에 위의 기능이 없어 앱이 호환되지 않습니다. 이러한 권한을 제거하면 문제가 즉시 해결되었습니다.


2

이 문제가 발생하는 추가 방법을 찾았습니다.
제 LG 휴대폰의 원래 OS는 Froyo (Android 2.2) 였고 ICS (Android 4.0.4)로 업데이트되었습니다. 하지만 Google Play 개발자 콘솔은 내 휴대 전화를 Froyo 기기로 감지한다고 표시합니다. (Google Play는 잘못된 '비 호환성'때문에 앱 다운로드를 허용하지 않았지만 어떻게 든 여전히 설치를 감지합니다.)

'소프트웨어'의 전화기 설정에 ICS V4.0.4가 표시됩니다. 휴대 전화의 Google Play 서버 정보가 기기의 ICS 업데이트를 반영하도록 업데이트되지 않은 것 같습니다. 앱 매니페스트 minSDK는 Honeycomb (3.0)으로 설정되어 있으므로 Google Play에서 앱을 필터링합니다.

추가 관심 사항 :
이 앱은 인앱 결제 V3를 사용합니다. IabHelper를 통해 처음으로 앱이 Google Play 서비스를 통해 구매할 수 있습니다. 그러나 구매가 이루어진 후에는 구매가 재고에 포함되지 않으며 IabHelper는 소유 한 항목이 없다고보고합니다. 디버그 메시지는 Google Play 창에 '구매 성공'이라고 표시 되더라도 구매의 '구매 실패'결과를 표시합니다.


0

나는 같은 문제가 있었다. 내 매니페스트 및 gradle 빌드 스크립트에 다른 버전 코드와 번호가 있기 때문에 발생했습니다. 내 매니페스트에서 버전 코드와 버전 번호를 제거하고 gradle이 처리하도록하여 문제를 해결했습니다.


0

나도 같은 문제가 있었다. React Native 59로 만든 테스트 모드로 앱을 게시했습니다. 특정 테스터와 호환되지 않았습니다. 특정 국가에서만 사용할 수 있도록 앱을 제한했다는 사실을 알게 된 후 앱이 호환되지 않는 이유에 대한 메시지가 명확하지 않았습니다. 그게 문제 였지만 내가 말했듯이 메시지는 명확하지 않았습니다. Play 스토어 웹앱에서 메시지는 "이 앱은 기기와 호환되지 않습니다."입니다. 모바일 앱에서 "이 앱은 귀하의 국가에서 사용할 수 없습니다."라는 메시지


0

2020 년에 여기에 있고 오류 메시지를 수신하는 장치가 호환되어야한다고 생각하는 경우 :

인스 타 그램 (설치 수 10 억 이상) 및 클래시 오브 클랜 (설치 수 1 억 이상)을 비롯한 여러 다른 주요 앱이 여기에 해당됩니다. Google의 Android 운영 체제에 문제가있는 것 같습니다.

"장치가이 버전과 호환되지 않습니다"오류 메시지를 수정하려면 Google Play 스토어 캐시를 지운 다음 데이터를 삭제 해보세요. 그런 다음 Google Play 스토어를 다시 시작하고 앱을 다시 설치하십시오.

[ https://support.getupside.com/hc/en-us/articles/226667067--Device-not-compatible-error-message-in-Google-Play-Store]

다음은 캐시를 지우는 방법에 대해 사용자에게 연결할 수있는 Google의 공식 지원 페이지 링크입니다. https://support.google.com/googleplay/answer/7513003

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