2016-09-10 2 views
0

더 많은 권한 요청으로 Play API를 업데이트했습니다. 일부 장치는 "장치가이 버전과 호환되지 않습니다"라는 메시지를 표시합니다.Android - 기기가이 버전과 호환되지 않습니다.

매니페스트 XML :

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.blynq.app.multipaneplayer"> 

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
    <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" /> 
    <uses-permission android:name="android.permission.BATTERY_STATS" /> 
    <uses-permission android:name="android.permission.BLUETOOTH" /> 
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> 
    <uses-permission android:name="android.permission.BROADCAST_STICKY" /> 
    <uses-permission android:name="android.permission.CALL_PHONE"/> 
    <uses-permission android:name="android.permission.CAMERA"/> 
    <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" /> 
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" /> 
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 
    <uses-permission android:name="android.permission.CLEAR_APP_CACHE" /> 
    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> 
    <uses-permission android:name="android.permission.EXPAND_STATUS_BAR" /> 
    <uses-permission android:name="android.permission.FLASHLIGHT" /> 
    <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
    <uses-permission android:name="android.permission.GET_PACKAGE_SIZE" /> 
    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" /> 
    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" /> 
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 
    <uses-permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS" /> 
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> 
    <uses-permission android:name="android.permission.NFC" /> 
    <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" /> 
    <uses-permission android:name="android.permission.READ_CALENDAR" /> 
    <uses-permission android:name="android.permission.READ_CONTACTS" /> 
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.READ_HISTORY_BOOKMARKS" /> 
    <uses-permission android:name="android.permission.READ_LOGS" /> 
    <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
    <uses-permission android:name="android.permission.READ_SMS" /> 
    <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" /> 
    <uses-permission android:name="android.permission.READ_SYNC_STATS" /> 
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 
    <uses-permission android:name="android.permission.RECEIVE_MMS" /> 
    <uses-permission android:name="android.permission.RECEIVE_SMS" /> 
    <uses-permission android:name="android.permission.RECEIVE_WAP_PUSH" /> 
    <uses-permission android:name="android.permission.RECORD_AUDIO" /> 
    <uses-permission android:name="android.permission.REORDER_TASKS" /> 
    <uses-permission android:name="android.permission.SEND_SMS" /> 
    <uses-permission android:name="android.permission.SET_ALARM" /> 
    <uses-permission android:name="android.permission.SET_ALWAYS_FINISH" /> 
    <uses-permission android:name="android.permission.SET_ANIMATION_SCALE" /> 
    <uses-permission android:name="android.permission.SET_DEBUG_APP" /> 
    <uses-permission android:name="android.permission.SET_PROCESS_LIMIT" /> 
    <uses-permission android:name="android.permission.SET_TIME_ZONE" /> 
    <uses-permission android:name="android.permission.SET_WALLPAPER" /> 
    <uses-permission android:name="android.permission.SET_WALLPAPER_HINTS" /> 
    <uses-permission android:name="android.permission.SIGNAL_PERSISTENT_PROCESSES" /> 
    <uses-permission android:name="android.permission.SUBSCRIBED_FEEDS_READ" /> 
    <uses-permission android:name="android.permission.SUBSCRIBED_FEEDS_WRITE" /> 
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> 
    <uses-permission android:name="android.permission.USE_CREDENTIALS" /> 
    <uses-permission android:name="android.permission.USE_SIP" /> 
    <uses-permission android:name="android.permission.VIBRATE" /> 
    <uses-permission android:name="android.permission.WAKE_LOCK" /> 
    <uses-permission android:name="android.permission.WRITE_CALENDAR" /> 
    <uses-permission android:name="android.permission.WRITE_CONTACTS" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.WRITE_HISTORY_BOOKMARKS" /> 
    <uses-permission android:name="android.permission.WRITE_SETTINGS" /> 
    <uses-permission android:name="android.permission.WRITE_SMS" /> 
    <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" /> 
    <uses-permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE"/> 
    <uses-permission android:name="android.permission.READ_CALL_LOG"/> 
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 
    <uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/> 
    <uses-permission android:name="android.permission.READ_PROFILE"/> 
    <uses-permission android:name="android.permission.READ_SOCIAL_STREAM"/> 
    <uses-permission android:name="android.permission.READ_USER_DICTIONARY"/> 
    <uses-permission android:name="com.android.alarm.permission.SET_ALARM"/> 
    <uses-permission android:name="android.permission.WRITE_CALL_LOG"/> 
    <uses-permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"/> 
    <uses-permission android:name="android.permission.WRITE_PROFILE"/> 
    <uses-permission android:name="android.permission.WRITE_SOCIAL_STREAM"/> 
    <uses-permission android:name="android.permission.WRITE_USER_DICTIONARY"/> 



    <application ... 
     ... 
    </application> 
</manifest> 

Gradle을이 점에서

... 
compileSdkVersion 23 
    buildToolsVersion "23.0.3" 
    defaultConfig { 
     applicationId "com.blynq.app.multipaneplayer" 
     minSdkVersion 19 
     targetSdkVersion 23 
     versionCode VERSION_CODE 
     versionName VERSION_NAME 
     testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner' 
     multiDexEnabled true 
     renderscriptTargetApi 23 
     renderscriptSupportModeEnabled true 

    } 
... 

나는 다음과 같은 한 질의 :

  1. 추가 권한이 장치와 응용 프로그램이 호환되지 않는하게 요구합니까? 예 : 기기에 카메라가없고 카메라 사용 권한을 요청한 경우 앱이 호환되지 않습니까?
  2. 특정 기기에서 특정 앱이 호환되지 않는 정확한 이유를 가져 오려면 어떻게해야합니까?
  3. 렌더 스크립트 라이브러리를 사용하면 관련 문제가 발생합니까? 또한, renderscriptTargetApi를 minSdkVersion 이상으로 유지하는 것이 좋습니까?

PS : - 제가 테스트 한있는 장치의 sdkversion -이 플러그 개에 설치된 전용 응용 프로그램은, 그대로 내가 모든 가능한 권한에 대한 요구 한 19 은, 다른 응용 프로그램은 다음에 사용되지 않을 것입니다 장치.

답변

1

추가 권한을 요청하면 앱이 기기와 호환되지 않습니다. 예 : 기기에 카메라가없고 카메라 사용 권한을 요청한 경우 앱이 호환되지 않습니까?

예. 기기에 카메라가 없지만 권한으로 추가 한 경우 해당 기기에서 호환되지 않습니다.

당신은 내가 특정 응용 프로그램은 특정 장치에서 호환되지 않는 이유 정확한 이유를 가져올 수있는 방법

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

처럼 사용할 수 있습니까?

권한을 제거하는 몇 가지 테스트 케이스를 시도하고 당신은 GOOGLEPLAY aplha베타 버전의 기능을 사용할 수 있습니다.

렌더 스크립트 라이브러리를 사용하면 관련 문제가 발생합니까? 또한 renderscriptTargetApi를 targetSdkVersion 이상으로 설정하면 괜찮습니까?

라이브러리 minSdkVersion 버전은 앱 minSdkVersion 이하 여야합니다. targetSdkVersion은 앱 targetSdk 버전보다 높을 수 있습니다.

+0

고맙습니다. 많은 권한을 요청하고 있으므로 문제의 원인이되는 정확한 권한을 어떻게 알 수 있습니까? Google Play 스토어에서 콘솔의 어딘가에이 점을 언급하겠습니까? – jay

+0

하드웨어와 관련된 사용 권한 문제가 가장 많이 발생합니다. 카메라처럼 손전등. 또한 일부 태블릿에는 전화를 요구하는 시설이 없으므로 전화 권한으로 인해 장치가 호환되지 않습니다. –

+0

선택 권한을 언급 할 수 있습니까?내 말은, 만약 그러한 조항이 사용 가능하다면, 허가를 부여하고 그렇지 않으면 무시하십시오. – jay

관련 문제