這裏推薦在 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 清除了緩存, 沒有再次被欺騙)