- Home /
Can´t found android.support.v4.content.ContextCompact
Hi everyone
I have created an android library that allows to take the Build.Version of the system, for this function I have to request permissions with ContextCompat.checkSelfPermission.
When you create an android application and use this library in it it works perfectly. When generating the .aar, in unity it does not work, it gives me an error that says java.lang.ClassNotFoundException: Did not find class "android.support.v4.content.ContextCompat" on path only if it is android 8 or higher.
The the gradle I have added implementation 'com.android.support:support-v4:27.1.1'
I give you the code if show something wrong
LibraryCode
package com.nesplora.nesplorautils;
import android.Manifest;
import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageManager;
import android.media.AudioManager;
import android.os.Build;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
public class NesploraUtils {
public static boolean hasHeadphonesConnected(Context c){
boolean connected = false;
AudioManager audioManager = (AudioManager)c.getSystemService(Context.AUDIO_SERVICE);
connected = audioManager.isWiredHeadsetOn() || audioManager.isBluetoothA2dpOn();
return connected;
}
public static String getDeviceID(Context c){
String deviceID = "";
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
if (ContextCompat.checkSelfPermission(c, Manifest.permission.READ_EXTERNAL_STORAGE)
== PackageManager.PERMISSION_GRANTED) {
deviceID = Build.getSerial();
} else {
ActivityCompat.requestPermissions((Activity) c, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 1);
}
}
else { // permission is automatically granted on sdk<23 upon installation
deviceID = Build.SERIAL;
}
return deviceID;
}
}
Gradle build code
apply plugin: 'com.android.library'
android {
compileSdkVersion 27
defaultConfig {
minSdkVersion 23
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.android.support:support-v4:27.1.1'
implementation 'com.android.support:appcompat-v7:27.1.1'
}
I would greatly appreciate your help, you can ask me what you want.
Your answer
Follow this Question
Related Questions
Android plugin dependency 1 Answer
Using the MPFR number library on Android 0 Answers
How do I make an Android plugin for unity? 0 Answers
Android Multi-Plugins 0 Answers
Not rendering camera when using Unity as library on Android Studio 0 Answers