Это, вероятно, очень тупой вопрос.
У меня есть приложение, написанное с использованием Eclipse несколько лет назад для Android OS 8 (2.3.x). Я пытаюсь перенести его в современный мир (все еще построенный с 8, но нацеленный на 28), и перенес его в Android Studio. Я не касался кода Android в течение нескольких лет, действительно очень мало знаю об Android Studio и еще меньше о Gradle.
В настоящее время я пытаюсь разобраться с другой средой разрешений, то есть проверять запуск и запрашиватьесли необходимо. У меня есть следующий код в основном упражнении (расширенный от Activity) - я знаю, что это просто и может быть связано с другой логикой, я просто сейчас пытаюсь запустить его в принципе:
...
import android.content.pm.PackageManager;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
...
onCreate(...) {
...
if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED)
ActivityCompat.requestPermissions(
this,
new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION},
ID_ACCESS_FINE_LOCATION);
...
android-support-v4.jar находится в / libs в проекте.
Сборка не может разрешить checkSelfPermission () или requestPermissions (), несмотря на импорт.
Я нашел другие вопросы по этомуи один (сам) ответ был «AS импортировал supportlib как jar, и этот jar был примерно с 2014 года. Я просто заменил jarimport реальной зависимостью, и теперь он работает».
Это звучит немного похоже на меня, но, к сожалению, из-за моего ограниченного знания среды сборки, я не совсем понимаю ответ, и я беспокоюсь о том, чтобы напортачить что-то большое по ошибке. Я был бы очень признателен, если бы кто-то мог объяснить в словах одного слога, что мне действительно нужно сделать, чтобы решить эту проблему, или, по крайней мере, указать мне, где это объясняется ....
Спасибо.
POSTSCRIPT
build.gradle согласно запросу в комментарии (кроме изменения целевого SDK, он был создан автоматически при импорте из дерева Eclipse):
apply plugin: 'com.android.application'
android {
compileSdkVersion 8
buildToolsVersion "29.0.2"
defaultConfig {
applicationId "uk.co.nightshadearts.gpscompass"
minSdkVersion 8
targetSdkVersion 28
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile project(':googleplayservices_lib')
compile files('libs/android-support-v4.jar')
}