hippy 调试demo运行联调-mac环境准备篇
适用对于终端编译环境不熟悉的人看,仅mac端
hippy 调试文档官网地址
前提:请使用node16
联调预览效果图:

编译iOS Demo环境准备
未跑通,待补充
编译Android Demo环境准备
1、正常安装Android Studio
2、下载Android NDK,安装可能会遇到点击没有反应的问题
参考这位大佬的安装:Mac安装NDK android-ndk-r25b-darwin.dmg
3、Android Studio打开项目examples/android-demo,执行项目构建
安装虚拟机器:右侧 - Device Manager,手机连机的虚拟机通过adb的方式会因为未加密链接失败;
3.1 报错sdk没有安装

安装sdk-参考文档
也可以直接执行:brew install android-sdk
安装后需手动添加环境变量,通常会默认安装在:/Users/用户名/Library/Android/sdk (mac系统中)
重启项目
3.2 报错cmake未找到,但可能已经在安装ios环境的时候安装过,命令行可以查到版本,并也试过添加过local.properties地址
cmake应在sdk下按照提示安装对应版本即可,cmake没安装过时左侧会有一个下载的图标,点击下载即可

重启项目
3.3 报错Task ‘wrapper’ not found in project ‘:example’.
FAILURE: Build failed with an exception.* What went wrong:
Task 'wrapper' not found in project ':example'.* Try:
> Run gradle tasks to get a list of available tasks.
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.* Get more help at https://help.gradle.orgBUILD FAILED in 245ms
项目代码里没有wrapper相关信息,需要新建,可以新建一个项目粘贴gradle文件夹过来。
在Android Studio中,wrapper是指一个用于管理项目中Gradle构建工具版本的工具。它包括Gradle Wrapper脚本文件和相关的Gradle发行版。使用wrapper可以确保团队成员无需手动安装特定版本的Gradle,而是通过项目中的wrapper自动获取所需的Gradle版本。
Gradle是一种基于Apache Ant和Apache Maven概念的构建自动化工具。它允许开发者定义项目的结构,并使用基于Groovy或Kotlin的领域特定语言来配置项目的构建过程。Gradle广泛用于构建Java、Kotlin和Android应用程序等项目。 它提供了一种灵活且可定制的方式来管理项目的依赖关系、构建过程和部署流程。如果项目中缺少Gradle,构建可能会失败,因为Gradle负责处理项目的依赖关系、编译代码、运行测试和打包应用程序等任务。因此,如果项目依赖于Gradle来构建,没有Gradle将导致项目无法完成构建过程。
重新执行“RUN”
3.4报错:Task ‘prepareKotlinBuildScriptModel’ not found in project ‘:example’.
添加:
task prepareKotlinBuildScriptModel {}
到build.gradle.kts中(仅是个声明,任意位置即可)
3.5 调试页面输入调试地址,Android模拟器访问127.0.0.1(localhost)被拒绝
10.0.2.2是Android模拟器设置的特定ip,是本机电脑的alias。换了之后会出现,点击调试页面是空白,模拟机器上也是空白

不符合预期可以出现组件的调试页面:

我跑的代码是vue-next,模拟器预览的是react;
怀疑前端项目在运行跟vue-next,react本身应该是没跑起来,不匹配导致的预览时index.bundle,确认执行“npm run buildexample hippy-vue-next-demo”,这之后会发现对应的例子demo下出现很多文件,其中引用的package的路径由react切为了vue-next

关掉前端项目重启并重新运行android staudio就可以了。


3.6、连接真机
Android 使用了 adb 的端口映射功能,解决了真机到开发机的通讯问题。由于 ARM 模拟器运行效率问题,更加推荐使用真机进行调试。
安装adb
安装adb之后adb dervices检测不到手机,先检查下是否打开了开发者模式,不只是USB-传输文件
手动打开开发者模式(华为手机)
检测到设备之后,debug会出现device connected的提示,有时候会意外断开,尝试重连通常可以解决
如果重连设备有连上但未打开,可以试试
adb reverse --remove-all adb reverse tcp:38989 tcp:38989
这个命令用于清除之前设置的所有端口转发规则,然后重新设置将本地端口 38989 转发到设备端口 38989。
补充信息
安卓的常见结构目录:

Android studio默认打包路径是android/app/release和android/app/debug两个文件夹

相关文章:
hippy 调试demo运行联调-mac环境准备篇
适用对于终端编译环境不熟悉的人看,仅mac端 hippy 调试文档官网地址 前提:请使用node16 联调预览效果图: 编译iOS Demo环境准备 未跑通,待补充 编译Android Demo环境准备 1、正常安装Android Studio 2、下载Android NDK&a…...
【golang】go module依赖的git tag被覆盖 如何处理 | 因测试产生大量的git tag 如何清除 最佳实践
一、场景 当我们把本地和远程git仓库的 tag全部删除,我们另外的项目依赖于这个被删除tag无法更新版本 如何处理? 如上图: 这里我创建了一个 v0.0.1 的tag,然后删除了这个tag,然后又创建了一个新的 v0.0.1的tag…...
Spring Cloud原理详解
Spring Cloud 是基于 Spring Boot 的微服务架构开发工具包,旨在帮助开发人员快速构建分布式系统中的一些常见模式,例如配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、领导选举、分布式会话和集群状态。Spring Cloud 是 Spring 生态系…...
力扣76. 最小覆盖子串(滑动窗口)
Problem: 76. 最小覆盖子串 文章目录 题目描述思路复杂度Code 题目描述 思路 1.定义两个map集合need和window(以字符作为键,对应字符出现的个数作为值),将子串t存入need中; 2.定义左右指针left、right均指向0ÿ…...
使用华为云云函数functiongraph
之前使用腾讯云serverless,但是突然开始收费了。所以改用functiongraph 首先登陆华为云。 目录 1.登录华为云 2.在控制台找到functiongraph并开通 3.添加依赖包: 3.1 制作依赖包 3.2引入依赖包 4.发送请求 4.1直接发送 4.1.1uri 4.1.2 请求头…...
Android logcat系统
一 .logcat命令介绍 android log系统: logcat介绍 : logcat是android中的一个命令行工具,可以用于得到程序的log信息. 二.C/Clogcat访问接口 Android系统中的C/C日志接口是通过宏来使用的。在system/core/include/android/log.h定义了日志的级别: /…...
android 使用协程CoroutineScope 实现定时器
满足延迟执行、立即执行,每次任务间隔时长,总时长的任务 使用1 class TimeViewModel:Viewmodel(){//测试延迟5秒开始执行任务,然后每隔1秒执行1次,总执行时间60秒fun testTime(){var startTime System.currentTimeMillis()log(…...
【algorithm】算法基础课---排序算法(附笔记 | 建议收藏)
🚀write in front🚀 📝个人主页:认真写博客的夏目浅石. 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝 📣系列专栏:AcWing算法学习笔记 💬总结:希望你看完…...
UnityShader——09数学知识3
方阵 行与列数量相等的矩阵,n*n阶矩阵 对角矩阵 当对角线以外的矩阵内元素全为0,则称之为对角矩阵,对角矩阵的前提是必须是方阵 单位矩阵 对角线元素全为1,其余元素全为0,属于对角矩阵的一部分 矩阵和向量 把1 * n阶矩阵称…...
langchain学习笔记(九)
RunnableBranch: Dynamically route logic based on input | 🦜️🔗 Langchain 基于输入的动态路由逻辑,通过上一步的输出选择下一步操作,允许创建非确定性链。路由保证路由间的结构和连贯。 有以下两种方法执行路由 1、通过Ru…...
周处除三害在线资源最新电影1080p高清
打开下面这个链接就可以看到 周处除三害在线资源最新电影1080p高清 如果链接打不开,就复制下面的网址到浏览器打开 https://www.zhufaka.cn/liebiao/A09504AE3BF8BD06 用阿里云盘下载,下载完成之后,用迅雷播放 周处除三害在线资源最新电…...
STM32CubeIDE基础学习-新建STM32CubeIDE基础工程
STM32CubeIDE基础学习-新建STM32CubeIDE基础工程 前言 有开发过程序的朋友都清楚,后面开发是不需要再新建工程的,一般都是在初学时或者有特殊需要的时候才需要新建项目工程的。 后面开发都是可以在这种已有的工程上添加相关功能就行,只要前…...
R语言简介|你对R语言了解多少?
R语言是一种专门用于统计计算和图形展示的开源编程语言,它在数据科学领域有着广泛的应用。下面对R语言的环境、基础语法及注释进行解释: R语言环境 安装与配置 安装R语言通常可以从官方站点下载对应操作系统的安装包,如Windows、Linux、ma…...
Android的硬件接口HAL
我一直觉得,现代计算机不是一门科学,起码快算不上一门理科科学。上上下下全是人造,左左右右全是生意,用管理学,经济学去学计算机,也许更看得懂很多问题。HAL就是一个典型例子。 传统Linux绕开了微软的霸权…...
【js】数组的常用方法
增加 push,unshift,splice,concat 前面三种修改原数组,concat不会修改原数组push 从后面添加数据,并返回新数组的长度unshift 从前面添加数据,并返回新数组的长度splice 可以接受三个参数,第一个参数开始位置,第二个参数是删除元素的数量,第三个参数是插入的数据concat 合并数…...
08. Nginx进阶-Nginx动静分离
简介 什么是动静分离? 通过中间件将动态请求和静态请求进行分离。分离资源,减少不必要的请求消耗,减少请求延时。 动静分离的好处 动静分离以后,即使动态服务不可用,静态资源仍不受影响。 动静分离示意图 动静分离…...
RPC--一起学习吧之架构
RPC(远程过程调用)是一种网络通信协议,它允许一台计算机(客户端)上的程序调用另一台计算机(服务器)上的程序,就像调用本地程序一样。RPC 可以使得网络中的不同进程能够相互调用&…...
服务器后端是学习java还是php
没有绝对的"最好"语言,每种后端语言都有其适用的场景和特点。以下是几种常用的后端语言: 1. Java:Java是一种通用且强大的语言,广泛用于企业级应用和大型系统。它有很好的性能和可靠性,并且具有优秀的生态系…...
DCFL: for Oriented Tiny Object Detection
文章目录 AbstractIntroductionContributionRelated Work定向目标检测微小目标检测多尺度学习标签分配上下文信息特征增强MethodOverview动态先验Coarse Prior MatchingFiner Dynamic Posterior MatchingAblation StudyAnalysis不平衡问题的调解可视化速度Conclusionhh 源代码 …...
代码学习记录11
随想录日记part11 t i m e : time: time: 2024.03.04 主要内容:今天的主要内容是深入了解栈和队列中比较难的题录类型:滑动窗口最大值与前 K K K 个高频元素,最后对于这三天学习的队列和栈的知识进行总结。…...
Vue项目调试神器Code-Inspector-Plugin全适配指南:从Vite、Webpack到Nuxt.js
Vue项目调试神器Code-Inspector-Plugin全适配指南:从Vite、Webpack到Nuxt.js 在Vue生态中,开发效率的提升往往依赖于工具的精准选择。当项目规模扩大、组件层级加深时,如何在浏览器中快速定位到源代码中的对应位置,成为影响开发体…...
REX-UniNLU在SpringBoot项目中的集成指南
REX-UniNLU在SpringBoot项目中的集成指南 1. 引言 如果你正在开发一个需要理解中文文本的SpringBoot应用,比如要做智能客服、内容分析或者自动分类,那么REX-UniNLU可能会是个不错的选择。这是一个专门为中文设计的自然语言理解模型,不需要训…...
Helm与Vault整合的实践之旅
在容器化和微服务架构的今天,管理配置文件和敏感信息变得愈发重要。使用Helm进行应用部署时,结合Vault来管理和注入机密信息是一个很好的实践。本文将通过一个实际的例子,详细说明如何在Helm Chart中使用Vault来配置和注入机密信息。 背景 Helm是一个包管理工具,可以帮助…...
乐鑫联合 Bosch Sensortec(博世传感器)推出磁感应交互方案
在 AI 玩具与智能硬件的设计中,如何在有限的空间与成本条件下,实现稳定且顺畅的配件交互,正成为产品创新的重要课题。 乐鑫信息科技 (688018.SH) 携手 Bosch Sensortec(博世传感器)推出了一种更轻量、更可靠的解决思路…...
OpenClaw多模型切换:Qwen3.5-9B-AWQ-4bit与文本模型协同工作
OpenClaw多模型切换:Qwen3.5-9B-AWQ-4bit与文本模型协同工作 1. 为什么需要多模型协同 去年我在尝试用OpenClaw自动化处理工作文档时,发现一个尴尬的问题:当我需要同时处理图片和文本内容时,要么被迫用昂贵的多模态模型处理所有…...
飞书机器人接入OpenClaw指南:千问3.5-27B实现智能问答助手
飞书机器人接入OpenClaw指南:千问3.5-27B实现智能问答助手 1. 为什么选择OpenClaw飞书机器人组合 去年我接手了一个技术文档整理项目,每天需要处理上百份飞书文档的归类与摘要生成。手动操作不仅效率低下,还经常漏掉关键更新。直到发现Open…...
Candleduino:面向MAB驱动器的跨平台CAN控制库
1. Candleduino库概述:面向MAB Robotics驱动器的跨平台CAN控制解决方案Candleduino是一个专为嵌入式平台设计的Arduino兼容C库,核心目标是实现对MAB Robotics公司MD系列伺服驱动器(Motor Drive)与PDS系列电源分配系统(…...
前端测试吐槽:别再写那些没用的测试了!
前端测试吐槽:别再写那些没用的测试了! 毒舌时刻 前端测试就像体检——每个人都知道要做,但真正认真做的没几个。Jest、React Testing Library、Cypress... 一堆测试工具让你挑花了眼,结果你的测试还是写得像一坨屎。 我就想不明白…...
基于单片机的室内环境监测控制系统的设计与实现
一、系统介绍 本论文针对室内环境监测和控制的需求,设计并实现了一套基于单片机的智能环境监测控制系统。系统包括硬件设计和软件设计两个主要部分。在硬件设计方面,系统涵盖了单片机最小系统、OLED显示屏、按键电路模块、DHT11模块、ESP8266-01s模块和继…...
STM32 OLED三级菜单框架设计与实现
1. STM32 OLED菜单界面框架设计概述在嵌入式设备开发中,人机交互界面是连接用户与硬件的重要桥梁。基于STM32微控制器和OLED显示屏构建的菜单系统,因其低成本、低功耗和高对比度显示特性,在工业控制、智能家居和便携设备等领域广泛应用。本文…...
