Android Stdio 引入自定義framework.jar

1: AndroidStudio IDE 的編譯無錯誤提示

這裏推薦在 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

2: Gradle的編譯出APK

 

這裏就是重頭戲了, 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 清除了緩存, 沒有再次被欺騙)
相關文章
相關標籤/搜索