as功能强大,体贴周到,让开发者只集中于项目开发上,对于环境、编译等等事项尽量的简单。
不过万事都有利弊,简单的背后就是不灵活,导致我们开发系统级APP时非常蛋疼,因为要用到一些hide类型的api,不能改as默认的检索库,导入jar也没用,因为默认SDK的优先级最高,我们从app/app.iml里面就可以看出来。
那么要进行系统级应用开发,AS该怎么配置呢:
1、
allprojects {
repositories {
jcenter()
}
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs.add('-Xbootclasspath/p:/xxx/xxx/xx/framework.jar')
}
}
}
在项目的gradle.build里添加此段设置即可,注意
-Xbootclasspath/p:这个是固定格式,不能变。
后面的路径根据window或者linux不同,设置不同,上面的格式是linux的,windows的如下:
options.compilerArgs.add('-Xbootclasspath/p:F:\\XXX\\framework.jar')
这么写之后,编译时framework.jar的优先级就比系统自带的高,编译就能通过了,不过代码提示上还是会提示出错。
我们可以在jar导入那里,添加一个只导入不编译的方式,把framework.jar导入进去,代码提示就不会有错了。
至于framework.jar怎么来的,我后面再写。。。