2017-09-22 8 views
0

내 기기를 특정 기기에서 사용 가능하게 만드는 방법을 이해하고 있지만 다른 기기는 제외시키는 데 어려움을 겪고 있습니다. 나는 Acer Iconia One One B1을 가지고있다. .. 화면 7 ", 800x1280 픽셀 216 PPI 밀도 내 응용 프로그램의 첫 번째 릴리스에서, 구글 플레이는 내 태블릿와 호환되지 말했다 이것은 처음에 내 매니페스트했다 :여러 화면 지원 - 호환되는 화면 사용

<compatible-screens> 
     <!-- all normal size screens --> 
     <screen android:screenDensity="mdpi" android:screenSize="normal" /> 
     <screen android:screenDensity="hdpi" android:screenSize="normal" /> 
     <screen android:screenDensity="xhdpi" android:screenSize="normal"/> 
     <screen android:screenDensity="xxhdpi" android:screenSize="normal"/> 
     <!-- mdpi and hdpi large size screens --> 
     <screen android:screenDensity="mdpi" android:screenSize="large" /> 
     <screen android:screenDensity="hdpi" android:screenSize="large" /> 
     <!-- mdpi x-large size screens --> 
     <screen android:screenDensity="mdpi" android:screenSize="xlarge" /> 
    </compatible-screens> 

    <uses-sdk 
     android:minSdkVersion="19" 
     android:targetSdkVersion="25" 
     /> 

는 조사 후, 나는 발견 내 태블릿 내가 모든 정상 크기의 화면을 포함하는 매니페스트에 몇 줄을 추가, 그래서는 tvdpi 밀도가 밖으로 것을 :

<screen android:screenSize="normal" android:screenDensity="213"/> 
<screen android:screenSize="normal" android:screenDensity="420"/> 
<screen android:screenSize="normal" android:screenDensity="560"/> 
<screen android:screenSize="normal" android:screenDensity="xxxhdpi"/> 
<!-- to exclude TVs --> 
     <uses-feature android:name="android.hardware.touchscreen" 
        android:required="true"/> 

내 응용 프로그램의 버전이 업로드되었으며, 구글 콘솔은 나에게 그 경고를 보여 주었다 업데이트 된 APK는 호환되는 화면을 더 추가 함에도 불구하고 버전 1보다 적은 장치를 지원합니다 !!! 내가 뭘 잘못하고 있는지 이해하도록 도와 주시겠습니까? 기본적으로, 나는 밀도에 관계없이 가능한 모든 일반 화면 크기를 지원해야합니다. 대형 MDPI 및 HDPI 및 초대형 MDPI.

답변

0

같은 뭔가 (이 긴을내어 나에게 수치심을) 이틀 동안이에보고 후, 나는 알아 안드로이드 스튜디오에서 AVD 관리자에 보였다과 같은 사양을 가지고있는 넥서스 7, 내 Acer Iconia는 Large가 아닌 Normal로 간주됩니다. 나는에

<screen android:screenSize="normal" android:screenDensity="213"/> 

을 변경하면 는 :

<screen android:screenSize="large" android:screenDensity="213"/> 

Play 스토어에 새로운 APK를 업로드, 내 태블릿 앱과 마지막으로 호환이었다. 나는 이것이 왜 그들의 tvdpi 태블릿이 그들의 애플 리케이션과 호환되지 않는 것으로 간주되는지 알아낼 수 없을 때 이것이 언젠가 누군가를 돕기를 바랍니다.

0

TV 제외 코드는 내 생각에 TV 앱은 Leanback Intent 라이브러리 (기본적으로 사용 중지됨)를 사용해야 지원할 수 있습니다. 전혀 <compatible-screens>를 사용해서는 안처럼 만 (안드로이드의 전화 버전을 실행하는 저렴한 안드로이드 TV 박스 포함) 몇 가지 장치를 제거하는 터치 스크린을 강제로

0

소리가 난다. 문서에서

:

주의 : 일반적으로,이 매니페스트 요소를 사용해서는 안 . 이 요소를 사용하면 목록에없는 화면 구성을 가진 장치가있는 경우 사용자가 응용 프로그램을 설치할 수 없게하여 응용 프로그램의 잠재적 인 사용자 기반을 크게 줄일 수 있습니다. 응용 프로그램이 특정 화면 구성에서 절대 작동하지 않을 때 최후의 수단으로 만 사용해야합니다.

"밀도에 상관없이 가능한 모든 일반 화면 크기를 지원해야합니다."라고 말합니다. 즉, 화면 크기가 이고 화면 크기가small이 아닌 경우, <supports-screens> 요소를 대신 사용할 수 있습니다.

<supports-screens 
    android:smallScreens="false"/> 
+0

나는 이것을 고려해 보았지만 큰 XHDPI + XXHDPI를 배제하고 X 대형 HDPI, XHDPI 및 XXHDPI를 제외해야했습니다.에 관한 문서를 읽었지 만 특정 밀도를 가진 일부 화면 크기가 포함되어야하지만 다른 화면 크기는 제외되어야하는 특수한 경우에는 다른 옵션이 없습니다. – ZenOctober

+0

왜 이것을 제외해야합니까? 안드로이드에 익숙하지 않은 개발자들은 화면을 매우 엄격하게 생각하는 경우가 많고, 큰 전화를 가진 사람이 앱을 얻는다면 어떤 일이 일어나는지에 대해 자주 걱정하지 마시기 바랍니다. –

+0

매우 큰 휴대폰/태블릿으로 보이는 그래픽이 많은 SurfaceView를 사용하고 있습니다. 나는 정상적인 화면을 덮을 정도의 드로어 블을 제공했으며, 더 큰 화면에서는 괜찮 았지만 전혀 그렇지는 않다. – ZenOctober