hippy安卓调试 踩坑记录

594 阅读3分钟

前期部署安装

常用指令

  • scrcpy
scrcpy --display 1 // 连接主屏
scrcpy  // 连接副屏
  • adb
3.3
//关闭进程:
adb shell pm clear com.openhippy.example
//单独开启进程:
adb shell am start com.openhippy.example/.MainActivity
---------------------------------------------------------------------------------------------0
2.x
//关闭进程:
adb shell pm clear com.tencent.mtt.hippy.example
//单独开启进程:
adb shell am start com.tencent.mtt.hippy.example/.MyActivity

opfun
//关闭进程:
adb shell pm clear com.ktvme.game.opfun
//单独开启进程:
去foxapi给对应机顶盒发协议👇图
  • 在opfun开关hippy引擎

路径:KmOpfun\opfun\src\main\java\com\ktvme\game\opfun\AppBase.java image.png

  • 在opfun开关weex引擎

路径:KmOpfun\opfun\src\main\java\com\ktvme\game\opfun\AppBase.java image.png

  • 3.0降级2.0的SDK 需 修改gradle

image.png

  • foxapi调用单页面展示

image.png

  • 看catlog里的前端console.log

image.png

  • 项目在VOD上透明背景色

image.png

修改demo代码

以hippy-vue-demo为例 |注意❗ 3.0的路径从2.0的/examples 换到 👇

├─driver
│  └─js
├    └─examples
│        └─hippy-vue-demo

编译修改后的前端工程

以编译hippy-vue-demo为例,在Hippy根目录执行命令

// 先初始化 /根目录下/
yarn

// 进入修改的项目包下 装依赖
cd driver\js\examples\hippy-vue-demo\ 
yarn

// 打包
npm run hippy:build

// 使用 `webpack serve` 命令启动一个 Webpack 开发服务器,它会监听文件变化并实时重新编译,配置文件是 `hippy-webpack.web-renderer.dev.js`
npm run web:dev

❗web:dev可能会因为缺少微软vs模块导致没法启动,解决方案:

通过安装 Microsoft Visual C++ 2015 Redistributable (x64) 就解决了 npm run dev 错误。 aka.ms/vs/17/relea…

运行前端编译产物

把driver\js\examples\hippy-vue-demo\dist\android\目录内容整体拷贝到对应的demo的res目录,当用Android来跑时拷贝到Android对应的目录。

cp -R -Force driver\js\examples\hippy-vue-demo\dist\android\*  framework\examples\android-demo\res\vue2\

hippy3.3.x部署踩坑集

机型选择

  • 设备:随意phone
  • 版本:X86_64 | Android 12

image.png


error when building with cmake

[CXX1405] error when building with cmake using C:\Users\user\Desktop\project

方案👇

安装 Microsot C++ 2015 file 把漏的ddl补上

Gradle plugin 下载太慢

gradle-wrapper.properties换源

  • 版本号记得按需改
比如用 distributionUrl=https://mirrors.cloud.tencent.com/gradle/gradle-7.3.3-bin.zip
替换 distributionUrl=https://services.gradle.org/distributions/gradle-7.3.3-bin.zip

性能比对

❗原生API:requestAnimationFrame的帧数数据仅作参考

image.png

基于N13S

200条list的滚动页面

用例1 (Scroller)NativeHippy3.3Hippy2.17
页面渲染时间(首次, ms)-537.69641.85
滚动CPU(%) 峰值-2632
内存(M) dev同构web-156.9-
内存(M) build--114.6
帧率(fps)---

100条贝塞尔曲线动画的滚动页面

  • 从2.17可以看出 build后的性能比dev大幅上升
用例2 (ScrollAnimation)Hippy3.0Hippy2.17
页面渲染时间(首次, ms)1375.981953.77
滚动-CPU峰值(%) dev同构web3641
滚动-CPU峰值(%) build-32
静置-内存(M) dev同构web178161.3
静置-内存(M) build-116.2
帧率(fps)--

133.45

2.17 版本截图

静态页面用例

static.gif

贝塞尔曲线动画用例

animation.gif

docker安装踩坑

  • 历史版本docker下载: gist.github.com/kupietools/…
  • 不强制需要用wsl2引擎
  • 按文档一步步走都没问题,但凡需要用powshell的地方都得用❗管理员权限开启
  • 起后台命令👇
docker run -td --restart=always -v /f/base/:/home/www/src/ktvme -v /f/ktvme-docker/nginx_conf/ktvme/:/etc/nginx/conf.d -v /f/ktvme-docker/log/:/home/www/log -p 801:80 --name ktvme 192.168.80.64/ktvme/phpenv

关于换引擎

更换Hermes引擎

image.png

小目标

  • 换引擎
  • weex/hippy3差异列出
  • 先往脚本方向思考批量修改差异部分
  • 改不了的列文档