2017-03-09 697 views
0

当我将targetSDK更改为大于22时,编译器不允许直接使用权限。权限必须由用户来提供,我不得不使用下面的代码:即使在添加所有库后仍未找到类“android.support.v4.content.ContextCompat”

if(ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)!= PackageManager.PERMISSION_GRANTED) { 

     ActivityCompat.requestPermissions(this, 
       new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 
       MY_PERMISSSIONS_REQUEST_FINE_LOCATION); 

} 

但我不断收到以下错误

Didn't find class "android.support.v4.content.ContextCompat" 

我添加了所有必需的文件ContextCompat和ActivityCompat但我每次都会收到这个错误。这是我的build.gradle

[编辑]添加整个文件的gradle

apply plugin: 'com.android.library' 

    android { 
     compileSdkVersion 25 
     buildToolsVersion "25.0.2" 

     defaultConfig { 
      minSdkVersion 15 
      targetSdkVersion 25 
      versionCode 1 
      versionName "1.0" 

      testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 

     } 
     buildTypes { 
      release { 
       minifyEnabled false 
       proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
      } 
     } 
    } 

    dependencies { 
     compile fileTree(include: ['*.jar'], dir: 'libs') 
     compile 'com.android.support:appcompat-v7:25.2.0' 
     compile files('libs/classes.jar') 
     compile 'com.android.support:support-v4:25.2.0' 
    } 

    //task to delete the old jar 
    task deleteOldJar(type: Delete) { 
     delete '/Users/kushagragupta/Desktop/Kushagra/STURFEE/Sturfee.Unity.Mobile.IMUGPSTest/Assets/AndroidPlugin.jar' 
    } 

    //task to export contents as jar 
    task exportJar(type: Copy) { 
     from('build/intermediates/bundles/release/') 
     into('/Users/kushagragupta/Desktop/Kushagra/STURFEE/Sturfee.Unity.Mobile.IMUGPSTest/Assets/') 
     include('classes.jar') 
     ///Rename the jar 
     rename('classes.jar', 'AndroidPlugin.jar') 
    } 

    exportJar.dependsOn(deleteOldJar, build) 

我可以从字面上看这些库Android Studio中enter image description here

我一直停留在这一点,因为最后2天并不知道还有什么可以解决这个问题。

+0

如何使用'ActivityCompat'来检查权限,它是否会抛出相同的错误(ActivityCompat是一个直接的子类)? https://developer.android.com/reference/android/support/v4/app/ActivityCompat.html –

+0

显示整个应用程序gradle文件 –

+0

编辑@DanielNugent – Kushagra

回答

0

我发现关于support-v4-25.2.0的一点是,Android SDK附带的.aar看起来或多或少是空的,只有2KB的大小。进一步看,我发现所有.aar文件返回到24.1.1的大小只有2KB。 enter image description here

我可以使用24.1.1版来解决它。

相关问题