關于androidstuio導入系統(tǒng)源碼的問題
最近公司需要做一些將系統(tǒng)源碼導出來,然后加入一些功能,在導入androidstudio過程中遇到過一些問題,這里記錄下,方便以后需要。
一般導入成功的都是系統(tǒng)比較相對獨立的app,比如計算器、Schedule power on off等,網(wǎng)上查閱一些資料后,最終解決。
這里以Schedule power on off為例。
1、導出Schedule power on off源碼,路徑為/package/apps/
如圖:
新建androidstudio項目,導入相關代碼以及相關資源文件,rebuild一下,發(fā)現(xiàn)報錯。
為了能在android studio里使用framework層隱藏的接口,需要自己編譯下framework的源碼,得到framework.jar和classes.jar。具體路徑如下:
如果編譯debug版本:
out/target/product/projectXX/system/framewor framework.jar
如果是user版本:
out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar
這里新建一個ext_libs,將class.jar改為framework.jar
app.build使用:
allprojects { repositories { jcenter() } gradle.projectsEvaluated { tasks.withType(JavaCompile) { //使用全路徑 options.compilerArgs.add('-Xbootclasspath/p:D://workspace/SchedulePowerOnOff-master/app/ext_libs/framework.jar') } } }
android{ repositories { flatDir { dirs 'libs' } } // u ...... }
provided files('ext_libs/framework.jar')
使用provided只是在編譯時使用,不打包到apk中
build.gradle中
allprojects { repositories { maven { // url 'https://maven.google.com/' url 'https://dl.google.com/dl/android/maven2/' name 'Google' } jcenter() } gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs.add('-Xbootclasspath/p:D://workspace/SchedulePowerOnOff-master/app/ext_libs/framework.jar') } } }
然后rebuild一下,會發(fā)現(xiàn)隱藏的方法還是會報錯。這是因為沒有優(yōu)先使用ext_libs下的framework.jar
修改:app.iml
如圖
將截圖處移至最后面。便可解決。
build一下,發(fā)現(xiàn)隱藏方法導包成功。到此就結束了。
以上就是關于androidstuio導入系統(tǒng)源碼的詳細內(nèi)容,更多關于androidstuio導入系統(tǒng)源碼的資料請關注腳本之家其它相關文章!
相關文章
Android開發(fā)獲取當前系統(tǒng)日期和時間功能示例
這篇文章主要介紹了Android開發(fā)獲取當前系統(tǒng)日期和時間功能,結合實例形式分析了Android布局、事件響應、監(jiān)聽以及時間獲取相關操作技巧,需要的朋友可以參考下2019-04-04Android Listview 滑動過程中提示圖片重復錯亂的原因及解決方法
android中l(wèi)istview是比較常見的組件,通過本文主要給大家分析Android中Listview滾動過程造成的圖片顯示重復、錯亂、閃爍的原因及解決方法,順便跟進Listview的緩存機制,感興趣的朋友一起看下吧2016-08-08Android 中通過實現(xiàn)線程更新Progressdialog (對話進度條)
這篇文章主要介紹了Android 中通過實現(xiàn)線程更新Progressdialog (對話進度條)的相關資料,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2016-11-11Flutter?彈性布局基石flex算法flexible示例詳解
這篇文章主要為大家介紹了Flutter?彈性布局基石flex算法flexible示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12解析Android開發(fā)優(yōu)化之:對界面UI的優(yōu)化詳解(一)
在Android應用開發(fā)過程中,屏幕上控件的布局代碼和程序的邏輯代碼通常是分開的。界面的布局代碼是放在一個獨立的xml文件中的,這個文件里面是樹型組織的,控制著頁面的布局2013-05-05Android入門之使用SimpleAdapter實現(xiàn)復雜界面布局
這篇文章主要為大家詳細介紹了Android如何使用SimpleAdapter實現(xiàn)復雜的界面布局,文中的示例代碼講解詳細,對我們學習Android有一定的幫助,需要的可以參考一下2022-11-11Android 幾種屏幕間跳轉的跳轉Intent Bundle
這篇文章主要介紹了Android 幾種屏幕間跳轉的跳轉Intent Bundle,有需要的朋友可以參考一下2013-12-12