V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Bown  ›  全部回复第 2 页 / 共 24 页
回复总数  477
1  2  3  4  5  6  7  8  9  10 ... 24  
@dabbit 如果项目是纯 Flutter App ,得改造成 plugin 然后用 Add-to-app 的方式接入,这样可以控制 Flutter 引擎的初始化。App 启动时加个 Native 页面占位并在 Native 中做处理下载,下载完成后再加载本地 so 启动引擎、渲染 Flutter 业务首页。
Flutter 1.17.x 时有做过,需要修改并自行编译 flutter/engine ,翻了下当时的笔记给个思路:
(假如编译产物动态下发后的路径分别为 /path/to/libflutter.so, /path/to/libapp.so, /path/to/flutter_assets/)

1. 修改 platform_view_android_jni.cc:RunBundleAndSnapshotFromLibrary ,把 jAssetManager 参数换成 jstring 用于传入资源文件路径,然后函数实现中 jAssetManager + APKAssetProvider 构造 asset_manager 换成 jstring + DirectoryAssetBundle 构造 asset_manager 。
2. 修改 FlutterJNI.java:C++ 层 RunBundleAndSnapshotFromLibrary 映射过来的 JNI 函数 nativeRunBundleAndSnapshotFromLibrary 对应把 assetManager 参数改成 String ,并在这个函数调用处传入 /path/to/flutter_assets/。
3. 修改 FlutterLoader.java:startInitialization 中 System.loadLibrary("flutter") 改为 System.load(“/path/to/libflutter.so”),ensureInitializationComplete 中引擎启动 shellArgs 传入的 DEFAULT_LIBRARY 和 aotSharedLibraryName 分别改成 /path/to/libflutter.so 和 /path/to/libapp.so

修改完 1 后编译引擎得到有资源动态加载能力的 libflutter.so ,修改完 2 和 3 后编译 io/flutter/embedding 得到 aar 后引入项目跟随 apk 打包发版。使用时确保产物已动态下发,在 Flutter 引擎初始化时 3 的变更用来动态加载修改版引擎 libflutter.so 和业务逻辑 libapp.so ,1 + 2 的变更用来动态加载 flutter_assets 。

简单看了下最新 Flutter 3.x 源码中这三个入口变化不是特别大,OP 可照这个思路尝试。
363 天前
回复了 redeyesovo 创建的主题 跑步 关于跑步的健康问题
我从 3km 菜鸡水平开始,到半年后完赛全马,膝盖都没出过什么问题,最主要的几个感受:
- 高步频低步幅很关键,跑姿尽量做到垂直重心下落,减少膝盖的反冲力。
- 跑前跑后拉伸,每周至少有两个休息日,穿插少量下肢力量训练。
- 控制心率,尽量跑更远而不是跑更快。
2023-06-27 15:06:28 +08:00
回复了 aaorn1201 创建的主题 Android 请问 android 是否可以像后端一样处理接口请求?
可以试试 https://ktor.io/
旧代码不管,新代码全面推广,熟练后开发效率开发体验提升太;而且 Compose for iOS 已经 Alpha ,未来或许能成为主流的跨平台 UI 方案。
业界情况的话,按照 KotlinConf 2023 给的数据:排名前 1000 的 Android 应用中有逾 21% 使用 Jetpack Compose 。
https://blog.jetbrains.com/zh-hans/kotlin/2023/04/kotlinconf-2023-2/
2023-05-09 13:21:50 +08:00
回复了 th2009yu 创建的主题 生活 外婆病危 + 女友分手在同一天
There is Always Hope
2023-04-14 11:29:44 +08:00
回复了 ojh 创建的主题 程序员 Compose Multiplatform 支持 iOS 了,至此跟 Flutter 对飙起来了
最近在内部工具类项目上有试用,目前感受:
- 缺点主要是文档不全( gradle 配置坑很多),以及第三方库缺失较多
- 优点除了 Kotlin + Compose 的开发体验外,最方便的是自带的 C interop 可以直接 Kotlin 调 AppKit 、CoreBluetooth 等大量 iOS 原生 API ,不需要 Flutter 那种原生实现再 Platform Channel 传一层

长期看好!
2022-09-30 10:53:34 +08:00
回复了 haoyh1 创建的主题 Apple 14pro 10.1-10.11 的现在发货了吗
10.1 - 10.11 还是准备中
2022-04-13 18:48:04 +08:00
回复了 ifconfig 创建的主题 问与答 各位的 M1 下 Chrome 是否频繁崩溃?
经常崩,一般出现在 CMD + Tab 切到 Chrome 的瞬间
2022-03-22 13:08:29 +08:00
回复了 muooOOO 创建的主题 跑步 入门级跑鞋求推荐
飞影 PB 还不错,打折的时候 500 左右
2021-12-20 16:21:00 +08:00
回复了 acainiao 创建的主题 游戏开发 我的游戏《魔旅之塔》将要发售了。
风格不错,等一个 64 位支持
2021-11-10 10:46:51 +08:00
回复了 theqiang 创建的主题 分享创造 有没有能够在页面上做笔记的工具
2021-10-27 11:52:43 +08:00
回复了 zoharSoul 创建的主题 Apple 新 mac 的刘海可以隐藏吗?
实测在打开 iterm2 非全屏模式后,当前桌面整体屏幕会小一圈,刘海完全隐藏(不知道是不是 bug... 别的 App 暂未出现)
2021-05-28 10:22:02 +08:00
回复了 Jiyunz 创建的主题 生活 请教一下大家如何入门基金
App 有知有行
2021-05-26 21:01:31 +08:00
回复了 freed 创建的主题 问与答 618 了想买个运动手表..
主要用来跑步的话佳明还是最佳选择,入门款 Forerunner 45 大概 1200+,可以同步 Keep
2021-01-18 10:24:09 +08:00
回复了 Ptu2sha 创建的主题 问与答 问下有做菜的同学
不粘锅感觉热锅太慢了... 铁锅开好锅、洗锅不用钢丝球和洗洁精、洗完开火烧干水渍,还是不错的
推荐一个 MapleStory Symphony In Budapest,全程感动
2020-12-31 18:28:33 +08:00
回复了 ophunter 创建的主题 Apple 有用 M1 安卓开发的老铁吗?
@ophunter 其实还好吧,IDEA 用起来也不错,第三方库有问题的也只遇到了 androidx.Room 和 Protobuf 这种有编译预处理流程的。编译速度的飞跃和整体使用体验是可以弥补这种小问题的
1  2  3  4  5  6  7  8  9  10 ... 24  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1086 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 45ms · UTC 19:04 · PVG 03:04 · LAX 12:04 · JFK 15:04
Developed with CodeLauncher
♥ Do have faith in what you're doing.