背景: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()
)
}
}
}