这里推荐在 Iml 文件中自定义: java
<orderEntry type="jdk" jdkName="Android API 22 Platform-aosp" jdkType="Android SDK" />
如何自定义Android API 22 Platform-aosp, 首先把这个名字改错, 而后编译, 根据提示进入到SDK的编辑界面:android
这里先删除 android.jar 而后再加入 framework.jar 和 android.jargit
这样就确保IDE编译无错误。github
这里就是重头戏了, Gradle的编译脚本是定义在 build.gradle 中的。缓存
对于三方普通的 jar 包的处理, 比较简单:测试
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:support-v4:22.1.1' compile 'com.github.lecho:hellocharts-library:1.5.5@aar' compile 'com.avast:android-styled-dialogs:2.2.0' }
可是这里没法配置咱们须要的jar包(优先级比android.jar高, 并且不要打包到 dex 文件中)
咱们能够配置:
allprojects { repositories { jcenter() } gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs.add('-Xbootclasspath/p:libs\\framework.jar') } } }
解释一下, 这是在最外层的 build.gradle 里面配置的, 目的是应用到全部的模块。gradle
在进行 javac 编译的时候, 添加一个参数。 其实和上面Ant编译的命令是同样的, 都是在 bootclasspath 中引入本身的 jar 包。
测试真实有效(PS 清除了缓存, 没有再次被欺骗)