一、前言
最近遇到Android Studio
开发应用时导入SystemProperties
报错问题:SystemProperties cannot be resolved.
,反而在AOSP
源码下修改Setting
时可以导入使用。
二、问题分析
Android
的系统属性相当于Windows
的注册表,由key
和value
组成,读取系统属性,需要通过SystemProperties
类来实现。SystemProperties
在android.os
下,但这个类是隐藏的,上层程序开发无法直接使用。可以通过修改app
目录下的build.gradle
来实现,其基本原理就是通过导入layoutlib.jar
包来实现。
三、修改方法
打开app
目录下的build.gradle
文件,在其中添加以下代码:
# Android sdk环境变量路径
String SDK_DIR = System.getenv("ANDROID_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 {
# 引入layoutlib.jar包
provided files("${SDK_DIR}/platforms/android-20/data/layoutlib.jar")
}
说明:ANDROID_HOME
是用户电脑配置的Android SDK
环境变量路径,并且platform
路径下需要下载android-21
的sdk
。
最后点击Android Studio
弹出的Sync Now
即可。