關(guān)于androidstuio導(dǎo)入系統(tǒng)源碼的問(wèn)題
最近公司需要做一些將系統(tǒng)源碼導(dǎo)出來(lái),然后加入一些功能,在導(dǎo)入androidstudio過(guò)程中遇到過(guò)一些問(wèn)題,這里記錄下,方便以后需要。
一般導(dǎo)入成功的都是系統(tǒng)比較相對(duì)獨(dú)立的app,比如計(jì)算器、Schedule power on off等,網(wǎng)上查閱一些資料后,最終解決。
這里以Schedule power on off為例。
1、導(dǎo)出Schedule power on off源碼,路徑為/package/apps/
如圖:


新建androidstudio項(xiàng)目,導(dǎo)入相關(guān)代碼以及相關(guān)資源文件,rebuild一下,發(fā)現(xiàn)報(bào)錯(cuò)。

為了能在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
這里新建一個(gè)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只是在編譯時(shí)使用,不打包到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一下,會(huì)發(fā)現(xiàn)隱藏的方法還是會(huì)報(bào)錯(cuò)。這是因?yàn)闆](méi)有優(yōu)先使用ext_libs下的framework.jar
修改:app.iml

如圖
將截圖處移至最后面。便可解決。
build一下,發(fā)現(xiàn)隱藏方法導(dǎo)包成功。到此就結(jié)束了。
以上就是關(guān)于androidstuio導(dǎo)入系統(tǒng)源碼的詳細(xì)內(nèi)容,更多關(guān)于androidstuio導(dǎo)入系統(tǒng)源碼的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Android開(kāi)發(fā)獲取當(dāng)前系統(tǒng)日期和時(shí)間功能示例
這篇文章主要介紹了Android開(kāi)發(fā)獲取當(dāng)前系統(tǒng)日期和時(shí)間功能,結(jié)合實(shí)例形式分析了Android布局、事件響應(yīng)、監(jiān)聽(tīng)以及時(shí)間獲取相關(guān)操作技巧,需要的朋友可以參考下2019-04-04
Android Listview 滑動(dòng)過(guò)程中提示圖片重復(fù)錯(cuò)亂的原因及解決方法
android中l(wèi)istview是比較常見(jiàn)的組件,通過(guò)本文主要給大家分析Android中Listview滾動(dòng)過(guò)程造成的圖片顯示重復(fù)、錯(cuò)亂、閃爍的原因及解決方法,順便跟進(jìn)Listview的緩存機(jī)制,感興趣的朋友一起看下吧2016-08-08
Android 中通過(guò)實(shí)現(xiàn)線程更新Progressdialog (對(duì)話進(jìn)度條)
這篇文章主要介紹了Android 中通過(guò)實(shí)現(xiàn)線程更新Progressdialog (對(duì)話進(jìn)度條)的相關(guān)資料,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11
Flutter?彈性布局基石flex算法flexible示例詳解
這篇文章主要為大家介紹了Flutter?彈性布局基石flex算法flexible示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12
解析Android開(kāi)發(fā)優(yōu)化之:對(duì)界面UI的優(yōu)化詳解(一)
在Android應(yīng)用開(kāi)發(fā)過(guò)程中,屏幕上控件的布局代碼和程序的邏輯代碼通常是分開(kāi)的。界面的布局代碼是放在一個(gè)獨(dú)立的xml文件中的,這個(gè)文件里面是樹(shù)型組織的,控制著頁(yè)面的布局2013-05-05
Android入門(mén)之使用SimpleAdapter實(shí)現(xiàn)復(fù)雜界面布局
這篇文章主要為大家詳細(xì)介紹了Android如何使用SimpleAdapter實(shí)現(xiàn)復(fù)雜的界面布局,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Android有一定的幫助,需要的可以參考一下2022-11-11
Android 幾種屏幕間跳轉(zhuǎn)的跳轉(zhuǎn)Intent Bundle
這篇文章主要介紹了Android 幾種屏幕間跳轉(zhuǎn)的跳轉(zhuǎn)Intent Bundle,有需要的朋友可以參考一下2013-12-12
android中圖片翻頁(yè)效果簡(jiǎn)單的實(shí)現(xiàn)方法
android中圖片翻頁(yè)效果簡(jiǎn)單的實(shí)現(xiàn)方法,需要的朋友可以參考一下2013-05-05

