电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Android Studio如何查看源碼并調試的方法步驟

瀏覽:12日期:2022-09-24 11:29:32

背景

最近遇到一個Dialog問題,在6.0的手機上才可以重現,但是我們的工程已經是targetsdk=28了,點擊Dialog的引用,只能看見28的class文件,現在我也越來越懶了,以前針對這種問題,我都會寫個demo,去重現問題,但是現在希望能直接在當前工程快速定位出原因,能夠基于源碼debug肯定更好了,為了實現這個懶的目標,我找了很多辦法,下面就一一介紹下

方法一 切換compilesdk

studio默認使用的是gradle里配置的compilesdkversion,只要你把compilesdkversi設置成23,自然就可以通過查看define的快捷鍵,進入到對應的class文件,但是我的項目已經是28了,降回6.0,必然有很多API無法編譯,此路不同

方法二 尋找studio插件

既然studio提供的默認方式不行,那我們就找插件來實現呢?通過各種搜索大法,我找到了一款不錯的插件,AndroidSourceViewer ; 功能十分強大:

支持查看 Android / Java 任意版本源碼 支持對比 Android / Java 任意兩個版本源碼差異 支持 Android 官網文檔查看和方法定位 支持 Native 方法源碼查看

具體可以看截圖:

正當我滿心歡喜的開啟debug時,發現studio無法識別該代碼,原因是作者的思路是在類名前面加版本號。。。例如.AndroidSourceViewer/cache/android/app/8.0.0_r4-Dialog.java于是我憤怒的提了個issue此路再次失敗

方法三 修改studio配置,直接鏈接到對應源碼

我的想法時,我找到studio跳轉源碼的配置文件,將原本跳到28的jar包的配置,修改成23,這樣不就完美了,于是我又開啟了搜索大法,網上都說,修改jdk-table.xml,可以達到我的目的,然而。。親測不可以;不論我怎么修改,都沒有反應;于是我又想到了idea的緩存,果然功夫不負有心人,我找到了這么個文件:

.idea/libraries/Gradle__android_android_28.xml

<component name='libraryTable'> <library name='Gradle: android-android-28'> <CLASSES> <root url='jar://$USER_HOME$/Library/Android/sdk/platforms/android-27/android.jar!/' /> </CLASSES> <JAVADOC /> <SOURCES> <root url='file://$USER_HOME$/Library/Android/sdk/sources/android-28' /> </SOURCES> </library></component>

PS:該文件可能沒有,大家可以手動添加到自己的緩存里

通過修改這個文件,只要源碼路徑存在,那就可以很方便的其他版本的源碼并且調試了;但是修改源碼路徑有風險,大家還是謹慎操作,同時記得不用的時候清空緩存。。

總結

現在國內網上很多文章,都是復制的,我也不知道為啥;像我搜到的jdk-table.xml,根本沒法用,可能它只是對新項目生效的,有可能是studio版本升級導致,總之,這個文章的原作者也是很辛苦的,但是其他人復制過去,又不加以維護,實在是誤人子弟。。

另外一點就是,可以看源碼還是很爽的~

到此這篇關于Android Studio如何查看源碼并調試的方法步驟的文章就介紹到這了,更多相關Android Studio查看源碼并調試內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Android
相關文章:
主站蜘蛛池模板: 自动记录数据电子台秤,记忆储存重量电子桌称,设定时间记录电子秤-昆山巨天 | 礼堂椅厂家|佛山市艺典家具有限公司 | 户外环保不锈钢垃圾桶_标识标牌制作_园林公园椅厂家_花箱定制-北京汇众环艺 | 北京工业设计公司-产品外观设计-产品设计公司-千策良品工业设计 北京翻译公司-专业合同翻译-医学标书翻译收费标准-慕迪灵 | 异噻唑啉酮-均三嗪-三丹油-1227-中北杀菌剂厂家 | 面粉仓_储酒罐_不锈钢储酒罐厂家-泰安鑫佳机械制造有限公司 | 步进_伺服_行星减速机,微型直流电机,大功率直流电机-淄博冠意传动机械 | 山东限矩型液力偶合器_液力耦合器易熔塞厂家-淄博市汇川源机械厂 | led全彩屏-室内|学校|展厅|p3|户外|会议室|圆柱|p2.5LED显示屏-LED显示屏价格-LED互动地砖屏_蕙宇屏科技 | 电梯装饰-北京万达中意电梯装饰有限公司 | 包装盒厂家_纸盒印刷_礼品盒定制-济南恒印包装有限公司 | 北京律师事务所_房屋拆迁律师_24小时免费法律咨询_云合专业律师网 | 广州物流公司_广州货运公司_广州回程车运输 - 万信物流 | 四川成都干燥设备_回转筒干燥机_脉冲除尘器_输送设备_热风炉_成都川工星科机电设备有限公司 | 深圳南财多媒体有限公司介绍 | 深圳市超时尚职业培训学校,培训:月嫂,育婴,养老,家政;化妆,美容,美发,美甲. | 工程管道/塑料管材/pvc排水管/ppr给水管/pe双壁波纹管等品牌管材批发厂家-河南洁尔康建材 | 精密五金加工厂-CNC数控车床加工_冲压件|蜗杆|螺杆加工「新锦泰」 | 伟秀电气有限公司-10kv高低压开关柜-高低压配电柜-中置柜-充气柜-欧式箱变-高压真空断路器厂家 | 拉力机-万能试验机-材料拉伸试验机-电子拉力机-拉力试验机厂家-冲击试验机-苏州皖仪实验仪器有限公司 | 胜为光纤光缆_光纤跳线_单模尾纤_光纤收发器_ODF光纤配线架厂家直销_北京睿创胜为科技有限公司 - 北京睿创胜为科技有限公司 | 升降机-高空作业车租赁-蜘蛛车-曲臂式伸缩臂剪叉式液压升降平台-脚手架-【普雷斯特公司厂家】 | 焊管生产线_焊管机组_轧辊模具_焊管设备_焊管设备厂家_石家庄翔昱机械 | 减速机电机一体机_带电机减速器一套_德国BOSERL电动机与减速箱生产厂家 | 锌合金压铸-铝合金压铸厂-压铸模具-冷挤压-誉格精密压铸 | 食药成分检测_调料配方还原_洗涤剂化学成分分析_饲料_百检信息科技有限公司 | 爆破器材运输车|烟花爆竹运输车|1-9类危险品厢式运输车|湖北江南专用特种汽车有限公司 | 酒糟烘干机-豆渣烘干机-薯渣烘干机-糟渣烘干设备厂家-焦作市真节能环保设备科技有限公司 | 磨煤机配件-高铬辊套-高铬衬板-立磨辊套-盐山县宏润电力设备有限公司 | 酒吧霸屏软件_酒吧霸屏系统,酒吧微上墙,夜场霸屏软件,酒吧点歌软件,酒吧互动游戏,酒吧大屏幕软件系统下载 | 行星齿轮减速机,减速机厂家,山东减速机-淄博兴江机械制造 | 济南菜鸟驿站广告|青岛快递车车体|社区媒体-抖音|墙体广告-山东揽胜广告传媒有限公司 | 上海小程序开发-小程序制作-上海小程序定制开发公司-微信商城小程序-上海咏熠 | 湖南自考_湖南自学考试网| 深圳快餐店设计-餐饮设计公司-餐饮空间品牌全案设计-深圳市勤蜂装饰工程 | 山东聚盛新型材料有限公司-纳米防腐隔热彩铝板和纳米防腐隔热板以及钛锡板、PVDF氟膜板供应商 | 美国PARKER齿轮泵,美国PARKER柱塞泵,美国PARKER叶片泵,美国PARKER电磁阀,美国PARKER比例阀-上海维特锐实业发展有限公司二部 | 微量水分测定仪_厂家_卡尔费休微量水分测定仪-淄博库仑 | 硫化罐-胶管硫化罐-山东鑫泰鑫智能装备有限公司 | 361°官方网站| 生鲜配送系统-蔬菜食材配送管理系统-连锁餐饮订货配送软件-挪挪生鲜供应链管理软件 |