Android Studio 匯入系統jar包的正確姿勢
前言
前段時間負責了一個系統設定的專案,裡面用到了大量的系統隱藏方法,所以自己用Eclipse打了一個系統jar包,但是匯入到Android studio的時候,中間踩了很多坑,現在總結一下,防止大家踩坑。
正文
按照下面步驟一步一步來,基本不會出現大問題。
1、將系統jar包放到module的libs資料夾下

2、在Module下的 build.gradle
新增
provided files('libs/android_framework.jar')
注意 provided
作用是隻在編譯時使用,最終不會打包到Apk中

3、在Project下的 build.gradle
檔案中新增
gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs.add('-Xbootclasspath/p:app/libs/android_framework.jar') } }
app/libs/android_framework.jar 為jar包路徑,app為Module名
注意: gradle.projectsEvaluated
是放在 allprojects
標籤內。

這個時候基本就算大功告成了,但是,你會發現,使用系統隱藏方法的地方還是會爆紅,那是因為Android Studio在編譯時優先使用系統的Sdk。

解決辦法:
找到Module下的.iml檔案,在裡面將你匯入的jar包放在sdk之前,這樣Android studio編譯時優先使用匯入的系統jar而不是sdk中的。

最終,Android studio在編譯時優先使用匯入的jar包,什麼系統隱藏方法啥的,使用起來暢通無阻!!
