柚子快報激活碼778899分享:Flutter v1
柚子快報激活碼778899分享:Flutter v1
? flutter_module flutter build ios-framework --no-debug --no-profile Building framework for com.example.flutterModule.cc in release mode… ├─Populating Flutter.framework… 1,486ms ├─Building Dart AOT for App.framework… 121.1s (!) ├─Assembling Flutter resources for App.framework… 0.2s └─Moving to build/ios/framework/Release 0.0s
cd 到framework,使用xcrun bitcode_strip -r app -o app抽離bitcode
app 為App.framework 里面的那個可執(zhí)行文件
同理也給Flutter.framework做相同操作xcrun bitcode_strip -r Flutter -o Flutter
抽離之后App.framework(10.6MB)和Flutter.framework(39.2MB)
安卓混合開發(fā)代碼遷移
add-to-app官方文檔 喵在Flutter 升級 1.12 適配教程中提到了關(guān)于插件注冊的變化,這部分我就不再提了。
FlutterActivity 設(shè)置透明 官方api有問題,BackgroundMode枚舉并沒有暴露出來
FlutterActivity .withNewEngine() .backgroundMode(FlutterActivity.BackgroundMode.transparent) .build(context)
暫時可以通過下面代碼來設(shè)置
Intent intent = FlutterActivity.withNewEngine().initialRoute(‘route’).build(activity); intent.putExtra(“background_mode”,“transparent”); activity.startActivity(intent);
官方支持緩存引擎
但是我沒有發(fā)現(xiàn)初始化route的方法,如果從原生進一個flutter頁面就要new一個引擎,那么這個 FlutterEngineCache的作用是?希望有知道的小伙伴能答疑一下。
更新
你可以通過 flutterEngine.getNavigationChannel().setInitialRoute('my/route');
但是頁面堆載管理就比較復(fù)雜了,這也是咸魚flutter_boost為我們做的事情了。
創(chuàng)建
// Instantiate a FlutterEngine. flutterEngine = new FlutterEngine(this);
// Start executing Dart code to pre-warm the FlutterEngine. flutterEngine.getDartExecutor().executeDartEntrypoint( DartEntrypoint.createDefault() );
// Cache the FlutterEngine to be used by FlutterActivity. FlutterEngineCache .getInstance() .put(“my_engine_id”, flutterEngine);
使用
startActivity( FlutterActivity .withCachedEngine(“my_engine_id”) .build(currentActivity) );
混合開發(fā)調(diào)試熱重載
混合開發(fā)一般都是安卓aar,ios framework這種方式,v1.12.13里面支持調(diào)試和熱重載等功能。
方法很簡單,以安卓為例子。
打debug的flutter aar,引用到安卓項目中,你可以用maven本地引用,也可以上傳到自己的maven庫中遠程引用。debug運行安卓項目vscode中打開你的flutter module項目,vscode的command palette中找到
debug:flutter attach to process(devices) 4. 進去你安卓項目中的flutter模塊,這個時候vscode會同步文件到設(shè)備中。
我試了下可以debug,可以熱重載,但是感覺有bug,第一次進去不會進斷點,必須熱重載一下。
ios的話,有bug,熱重載報錯
對于之前苦逼進行混合調(diào)試的我來說,已經(jīng)很不錯了,將就用了,希望官方繼續(xù)完善。
安卓華為設(shè)備閃退
華為設(shè)備閃退
Huawei DUB AL00AHuawei DUB AL00Honor BKK AL10Huawei ARS AL00Huawei DUB AL20
issue里面已有大佬提出了解決方案,回滾引擎。官方也做了回滾,坐等hotfix。
在官方回復(fù)的這段時間,嘗試了接觸了一下flutter引擎這個東西(本來想通過重新打包引擎來去掉bitcode,Creating-an-iOS-Bitcode-enabled-app,以及重新打包引擎來解決安卓華為閃退),可以不用,但是要會。
編譯引擎官方文檔 準備編譯引擎環(huán)境
注意下交叉編譯平臺只有mac同時支持安卓和ios
Linux supports cross-compiling artifacts for Android, but not iOS. macOS supports cross-compiling artifacts for Android and iOS. Windows doesn’t support cross-compiling artifacts for either Android or iOS.
mac真香?能交叉編譯安卓和ios的只有mac,讓我大窗戶兒用戶情何以堪。后面為mac上面操作
設(shè)置這個,你懂的
export http_proxy=http://127.0.0.1:1087 export https_proxy=http://127.0.0.1:1087
下載google的depot_tools工具包
depot_tools是個工具包,里面包含gclient、gn和ninja等工具。是Google為解決Chromium源碼管理問題為Chromium提供的源代碼管理的一個工具。
clone代碼
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
設(shè)置環(huán)境變量
export PATH="$PATH:/xxx/xxx/depot_tools"
到github.com/flutter/eng… 下載代碼到本地,官方建議你fork,這樣可以方便更新,看個人情況在engine目錄下面創(chuàng)建.gclient文件
可以使用fork的branch,添加下面內(nèi)容,替換你fork的名字
solutions = [ { “managed”: False, “name”: “src/flutter”, “url”: “git@github.com:
也可以指定一個某個版本,比如我們指定回滾奔潰的版本
solutions = [ { “managed”: False, “name”: “src/flutter”, “url”: “https://github.com/flutter/engine.git@2994f7e1e682039464cb25e31a78b86a3c59b695”, “custom_deps”: { 自我介紹一下,小編13年上海交大畢業(yè),曾經(jīng)在小公司待過,也去過華為、OPPO等大廠,18年進入阿里一直到現(xiàn)在。
深知大多數(shù)初中級Android工程師,想要提升技能,往往是自己摸索成長或者是報班學(xué)習(xí),但對于培訓(xùn)機構(gòu)動則近萬的學(xué)費,著實壓力不小。自己不成體系的自學(xué)效果低效又漫長,而且極易碰到天花板技術(shù)停滯不前!
因此收集整理了一份《2024年Android移動開發(fā)全套學(xué)習(xí)資料》,初衷也很簡單,就是希望能夠幫助到想自學(xué)提升又不知道該從何學(xué)起的朋友,同時減輕大家的負擔(dān)。
既有適合小白學(xué)習(xí)的零基礎(chǔ)資料,也有適合3年以上經(jīng)驗的小伙伴深入學(xué)習(xí)提升的進階課程,基本涵蓋了95%以上Android開發(fā)知識點,真正體系化!
由于文件比較大,這里只是將部分目錄截圖出來,每個節(jié)點里面都包含大廠面經(jīng)、學(xué)習(xí)筆記、源碼講義、實戰(zhàn)項目、講解視頻,并且會持續(xù)更新!
如果你覺得這些內(nèi)容對你有幫助,可以掃碼獲?。。。▊渥ⅲ篈ndroid)
最后
感謝您的閱讀,在文末給大家準備一個福利。本人從事Android開發(fā)已經(jīng)有十余年,算是一名資深的移動開發(fā)架構(gòu)師了吧。根據(jù)我的觀察發(fā)現(xiàn),對于很多初中級Android工程師而言,想要提升技能,往往是自己摸索成長,不成體系的學(xué)習(xí)效果低效漫長且無助。
所以在此將我十年載,從萌新小白一步步成長為Android移動開發(fā)架構(gòu)師的學(xué)習(xí)筆記,從Android四大組件到手寫實現(xiàn)一個架構(gòu)設(shè)計,我都有一一的對應(yīng)筆記為你講解。
當(dāng)然我也為你們整理好了百度、阿里、騰訊、字節(jié)跳動等等互聯(lián)網(wǎng)超級大廠的歷年面試真題集錦。這也是我這些年來養(yǎng)成的習(xí)慣,一定要學(xué)會把好的東西,歸納整理,然后系統(tǒng)的消化吸收,這樣才能極大的提高學(xué)習(xí)效率和成長進階。碎片、零散化的東西,我覺得最沒有價值的。就好比你給我一張撲克牌,我只會覺得它是一張廢紙,但如果你給我一副撲克牌,它便有了它的價值。這和我們收集資料就要收集那些系統(tǒng)化的,是一個道理。
最后,贈與大家一句詩,共勉!
不馳于空想,不騖于虛聲。不忘初心,方得始終。
《互聯(lián)網(wǎng)大廠面試真題解析、進階開發(fā)核心學(xué)習(xí)筆記、全套講解視頻、實戰(zhàn)項目源碼講義》點擊傳送門即可獲?。?/p>
理。
[外鏈圖片轉(zhuǎn)存中…(img-ys2PaS98-1713308655902)]
最后,贈與大家一句詩,共勉!
不馳于空想,不騖于虛聲。不忘初心,方得始終。
《互聯(lián)網(wǎng)大廠面試真題解析、進階開發(fā)核心學(xué)習(xí)筆記、全套講解視頻、實戰(zhàn)項目源碼講義》點擊傳送門即可獲??!
柚子快報激活碼778899分享:Flutter v1
相關(guān)鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。