在 Android Studio 中引入android.os.SystemProperties
前言
网上有很多种方法,其中直接导入包的办法是行不通的,昨天自己发现问题后也踩了很多坑,现在把问题解决了也全面汇总了几种方法,确保可以百分百引入
1. layoutlib.jar包
在开始之前,您需要确保已获得 layout.jar 文件。通常,该文件位于 Android SDK 的平台目录中。以下是找到它的步骤:
打开 Android SDK 目录,通常路径类似于:
Windows: C:\Users<YourUsername>\AppData\Local\Android\Sdk\platforms\android-< version >\data
macOS/Linux: /Android/sdk/platforms/android-< version >/data/
在相应的目录中查找 layout.jar 文件,若已拥有,直接跳到第二步。如果没有找到返回根目录或AndroidStudio目录,搜索此文件名
bash
find ./ -name layoutlib.jar
./Desktop/android-studio/plugins/design-tools/lib/layoutlib.jar
找到文件后,复制到上面对应的SDK目录/data中
2. 在 build.gradle 中引入 layout.jar
找到 layoutlib.jar 后,您需要打开项目的 build.gradle 文件。添加如下内容:
Bash
android {
//以下是为了找到android.os.SystemProperties这个隐藏的类
String SDK_DIR = System.getenv("ANDROID_SDK_HOME")
//("TAG", "SDK_DIR = " + SDK_DIR );
if(SDK_DIR == null) {
Properties props = new Properties()
props.load(new FileInputStream(project.rootProject.file("local.properties")))
SDK_DIR = props.get('sdk.dir');
}
dependencies{
compileOnly files("${SDK_DIR}/platforms/android-<version>/data/layoutlib.jar")
}
//以上是为了找到android.os.SystemProperties这个隐藏的类
}
3. 成功引入包
一旦完成上述步骤,您应该能够在项目中成功使用 layout.jar 中的类和方法。
bash
import android.os.SystemProperties;
String device_name = Settings.System.getString(this.getContentResolver(),"device_name");