您好,登錄后才能下訂單哦!
這篇文章主要講解了Android Studio如何查看源碼并調(diào)試,內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。
背景
最近遇到一個(gè)Dialog問(wèn)題,在6.0的手機(jī)上才可以重現(xiàn),但是我們的工程已經(jīng)是targetsdk=28了,點(diǎn)擊Dialog的引用,只能看見(jiàn)28的class文件,現(xiàn)在我也越來(lái)越懶了,以前針對(duì)這種問(wèn)題,我都會(huì)寫(xiě)個(gè)demo,去重現(xiàn)問(wèn)題,但是現(xiàn)在希望能直接在當(dāng)前工程快速定位出原因,能夠基于源碼debug肯定更好了,為了實(shí)現(xiàn)這個(gè)懶的目標(biāo),我找了很多辦法,下面就一一介紹下
方法一 切換compilesdk
studio默認(rèn)使用的是gradle里配置的compilesdkversion,只要你把compilesdkversi設(shè)置成23,自然就可以通過(guò)查看define的快捷鍵,進(jìn)入到對(duì)應(yīng)的class文件,但是我的項(xiàng)目已經(jīng)是28了,降回6.0,必然有很多API無(wú)法編譯,此路不同
方法二 尋找studio插件
既然studio提供的默認(rèn)方式不行,那我們就找插件來(lái)實(shí)現(xiàn)呢?通過(guò)各種搜索大法,我找到了一款不錯(cuò)的插件,AndroidSourceViewer ; 功能十分強(qiáng)大:
具體可以看截圖:
正當(dāng)我滿(mǎn)心歡喜的開(kāi)啟debug時(shí),發(fā)現(xiàn)studio無(wú)法識(shí)別該代碼,原因是作者的思路是在類(lèi)名前面加版本號(hào)。。。例如.AndroidSourceViewer/cache/android/app/8.0.0_r4-Dialog.java于是我憤怒的提了個(gè)issue此路再次失敗
方法三 修改studio配置,直接鏈接到對(duì)應(yīng)源碼
我的想法時(shí),我找到studio跳轉(zhuǎn)源碼的配置文件,將原本跳到28的jar包的配置,修改成23,這樣不就完美了,于是我又開(kāi)啟了搜索大法,網(wǎng)上都說(shuō),修改jdk-table.xml,可以達(dá)到我的目的,然而。。親測(cè)不可以;不論我怎么修改,都沒(méi)有反應(yīng);
于是我又想到了idea的緩存,果然功夫不負(fù)有心人,我找到了這么個(gè)文件:
.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:該文件可能沒(méi)有,大家可以手動(dòng)添加到自己的緩存里
通過(guò)修改這個(gè)文件,只要源碼路徑存在,那就可以很方便的其他版本的源碼并且調(diào)試了;但是修改源碼路徑有風(fēng)險(xiǎn),大家還是謹(jǐn)慎操作,同時(shí)記得不用的時(shí)候清空緩存。。
看完上述內(nèi)容,是不是對(duì)Android Studio如何查看源碼并調(diào)試有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。