android studio 出现错误: 找不到符号 符号: 类android.os.SystemProperties

使用android studio编写自己的app时,会出现想要获取系统属性,所以使用了SystemProperties类,单输入后是红色的,导入android.os.SystemProperties 类也不行。会在编译的时候提示找不到。这种情况下是没找到这个类。

解决办法:  
导入sdk 中的layoutlib.jar包
因为是只要让apk编译成功即可,在运行的时候不需要使用,所以我们导包时使用provided
Android Studio 在/app/build.gradle 添加这段代码到末尾
 
    
String SDK_DIR = System.getenv("ANDROID_SDK_HOME")  
if (SDK_DIR == null) {  
    Properties props = new Properties()  
    props.load(new FileInputStream(project.rootProject.file("local.properties")))  
    SDK_DIR = props.get('sdk.dir');  
}  
dependencies {  
    provided files("${SDK_DIR}/platforms/android-20/data/layoutlib.jar")  
}  
参考:app/build.gradle
apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "com.text.recylecountryselect"
        minSdkVersion 19
        targetSdkVersion 26
        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')
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
    implementation 'com.android.support:recyclerview-v7:27.1.0'
}

String SDK_DIR = System.getenv("ANDROID_SDK_HOME")
if (SDK_DIR == null) {
    Properties props = new Properties()
    props.load(new FileInputStream(project.rootProject.file("local.properties")))
    SDK_DIR = props.get('sdk.dir');
}
dependencies {
    provided files("${SDK_DIR}/platforms/android-24/data/layoutlib.jar") 
}
provided files("${SDK_DIR}/platforms/android-24/data/layoutlib.jar") 
 这个路径中,需要确定android-24/data/layoutlib.jar 中有android/os/systemProperites.class 。如果没有,可以在其他版本中查找,如adnroid-21,有的话把这个替换成android-21.

本文参考的文章:https://blog.csdn.net/wds1181977/article/details/74605036

感谢作者。

你可能感兴趣的:(system)