2016-09-28 11 views
0

Playストアにアップデートされたバージョンのアプリ(sdk 23)を送信しています。このエラーは、ベータテスターのセクションを公開する必要がある場合に発生します。PlayストアでApp(sdk 23)を更新できません

私はSDK 23のためのrequestPermissionと変化やった:

if (Utils.isMarshmallow()) { 
    if (ContextCompat.checkSelfPermission(activity, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && 
       ContextCompat.checkSelfPermission(activity, android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { 

      ActivityCompat.requestPermissions(activity, new String[] {android.Manifest.permission.ACCESS_COARSE_LOCATION}, 
        Utils.MY_PERMISSION_ACCESS_COARSE_LOCATION); 
    } 
} 

をしかし、AndroidのSDKでデバイスを熟考する< 23私のマニフェストには、次のようになります。

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="com.android.vending.BILLING" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.WRITE_SETTINGS"/> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> ` 

私のbuild.gradleです:

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.3" 
    defaultConfig { 
     applicationId "br.com.app.vertz" 
     minSdkVersion 14 
     targetSdkVersion 23 
     versionCode 36 
     versionName "2.8" 
    } 
... 

エラーメッセージ:

以前のM権限(SDK 23以上)を旧式のアクセス許可(SDK 22以下)を使用してAPKにダウングレードすることはできません。これは、バージョン29(SDK 19)のバージョン32(23 SDK)を変更する場合に発生します。

答えて

1

アクセス許可が

 if (!checkPermission()) { 
      requestPermission(); 
     } else { 
//perform your task  
    } 



private boolean checkPermission() { 
      if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) { 
       return true; 
      } 
      for (String permission : REQUEST_PERMISSIONS) { 
       if (ActivityCompat.checkSelfPermission(this, permission) != PackageManager.PERMISSION_GRANTED) { 
        return false; 
       } 
      } 


      return true; 
     } 
    private void requestPermission() { 
     ActivityCompat.requestPermissions(this, REQUEST_PERMISSIONS, REQUEST_PERMISSION_CODE); 
    } 

    @Override 
    public void onRequestPermissionsResult (int requestCode, @NonNull String[] permissions, 
    @NonNull int[] grantResults){ 
     if (requestCode == REQUEST_PERMISSION_CODE) { 
      if (grantResults.length == 1 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { 
       //perform your task 
      } 
     } 
    } 
+0

ありがとう。できます!!! – JamesMartins

1

targetSdkVersionマニフェストおよび/またはbuild.gradleは23以上である必要があります。

+0

しかし、私の更新を必要としている場合の権限と要求コード

private static final String[] REQUEST_PERMISSIONS = new String[]{ Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION }; private static final int REQUEST_PERMISSION_CODE = 007; 

//チェック宣言//

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

もWRITE_EXTERNAL_STORAGEのランタイム許可を求める必要があります私は質問を更新しました。 – JamesMartins

+0

何とか実際に使用されている値は19と思われる。マニフェストのコピーをすべて再チェックし、キャッシュをクリアするなど。 –

関連する問題