error: cannot find symbol import android.os.SystemProperties;

时间:2024-10-19 22:18:23

背景:AS独立编译系统工程应用,使用了hide接口,导致编译不过。

尽管使用了framework.jar依赖。依然编译不过,导致各种类找不到。

例如:

/SettingsLib/src/main/java/com/android/settingslib/location/RecentLocationApps.java:106: error: cannot find symbol
            AppOpsManager.PackageOps ops) {
                         ^
  symbol:   class PackageOps
  location: class AppOpsManager

解决方案:

加上下段代码解决(搭配openJDK 8)。

android{
    gradle.projectsEvaluated{
        tasks.withType(JavaCompile){
            Set<File> fileSet = options.bootstrapClasspath.getFiles()
            List<File> newFileList = new ArrayList<>();
            newFileList.add(new File("../commonLib/framework.jar"))
            newFileList.addAll(fileSet)
            options.bootstrapClasspath = files(
                    newFileList.toArray()
            )
        }
    }
}