前言
目前我們工程采用的是Add-to-app的方式接入Flutter蠕嫁,這種方式就是以源碼方式集成位仁,對(duì)工程有一定侵入性揣钦,需要單獨(dú)托管module工程祭芦,如果要實(shí)現(xiàn)持續(xù)集成還得依賴Flutter環(huán)境,進(jìn)行改造會(huì)帶來(lái)一定成本仍翰。但是它也有大大的好處赫粥,以module方式管理,開(kāi)發(fā)過(guò)程會(huì)比較透明予借,能夠使用亞秒級(jí)的熱重載的能力越平,提升開(kāi)發(fā)效率。
遇到問(wèn)題
正常來(lái)說(shuō)在原生工程嵌入Flutter灵迫,說(shuō)明既包含Android相關(guān)的代碼(Java或者Kotlin)又包含Dart的代碼秦叛,那這里就會(huì)有個(gè)問(wèn)題,怎么同時(shí)調(diào)試龟再?
目前我們用的IDE是Android Studio书闸,我們?cè)陂_(kāi)發(fā)的過(guò)程中就發(fā)現(xiàn)有這個(gè)問(wèn)題尼变,發(fā)現(xiàn)IDE引入Flutter插件之后就找不到Attach debugger to Android process:
會(huì)變成帶Flutter的icon:
這就非常尷尬利凑,沒(méi)法做到同時(shí)調(diào)試Android代碼和Dart代碼。國(guó)外的開(kāi)發(fā)者也同樣遇到這個(gè)問(wèn)題嫌术,我查到相關(guān)的issue:https://github.com/flutter/flutter-intellij/issues/4458
看issue大概知道把Attach Debugger這個(gè)按鈕給隱藏掉了哀澈,后面會(huì)把它加回來(lái)。好家伙度气,要等到啥時(shí)候呢割按,不能Debug原生代碼那就變得很雞肋了啊。那有沒(méi)有其他辦法能幫助我們實(shí)現(xiàn)這個(gè)訴求呢磷籍,答案肯定是有的适荣,下面就是解決方案。
解決方案
在我Google了一圈沒(méi)找到好的辦法院领,我在IDE搜了下快捷鍵弛矛,看能不能通過(guò)快捷鍵調(diào)出以前Debug的窗口,還真被我找到了解決辦法:
漂亮比然,雖然按鈕被隱藏掉了不可用丈氓,但可以設(shè)置快捷鍵來(lái)調(diào)出Debug窗口:
這樣我們可以愉快的調(diào)試原生代碼和Dart代碼了。
最后
本篇是一個(gè)小技巧,在官方?jīng)]更新插件解決這個(gè)問(wèn)題之前万俗,我們可以按照這種方式解決問(wèn)題湾笛。本來(lái)以為這個(gè)問(wèn)題沒(méi)辦法解決,后面還是多嘗試了下闰歪,辦法總比問(wèn)題多嚎研,快捷鍵是個(gè)好東西,活用快捷鍵能夠幫助我們提升編碼效率库倘。下一篇我會(huì)分享Flutter構(gòu)建物分析嘉赎,讓大家更全面認(rèn)識(shí)混編過(guò)程中需要注意的問(wèn)題,怎么解決armeabi架構(gòu)體系下的問(wèn)題于樟,可以期待一下公条。