OPPO主题组件开发 - 调试与预览
本篇作为 OPPO主题组件调试与预览 文档的补充,因为它真的很简单而且太老,一些命令已发生变化
1. 调试前准备
1. PC 端下载 adb命令工具
- 下载 https://adbdownload.com/,或从其他地方下载也可
- 解压,放在你想放的文件夹下
- 配置环境变量
右键我的电脑/此电脑选择属性,在弹出的面板里选择高级系统设置

在弹出的面板里,选择环境变量,在弹出的面板里找到Path,点击编辑

在弹出的面板里,选择新建,在新建的空白行内填入,你解压后的文件夹地址,比我的是D:\Tools\windows\platform-tools

最后一步步确定,关闭所有面板 - 测试
打开命令行工具,输入adb,出现如下,则表示安装成功

2. 手机端安装 多彩引擎
下载地址参见 https://open.oppomobile.com/new/developmentDoc/info?id=12221,下载后安装到手机上
3. 手机连接电脑
- 手机找到
开发者选项
没这个选项的话,请打开手机设置->关于本机->版本信息,然后持续点击版本号,直至出现类似您现在已处于开发者模式的提示即可。然后在设置->其他设置下即可找到开发者选项

- 打开开发者选项里的
USB调试
出现提示,请点击确定

- 手机通过
USB数据线连接电脑
连接无反应的,请检查接口或换线
连接后,选择传输文件

弹出框提示允许USB调试吗,请选择允许

经历以上步骤,则准备工作已做好
2. adb 调试和预览
打开
cmd命令工具,开始进行调试
1. 测试是否连接正常
输入 adb devices,出现下列情况,则说明连接正常,如果没有 device 和它前面的id,则说明连接不成功
PS C:\Users\Administrator> adb devices
List of devices attached
8d58ec40 device
2. 创建手机端的 widget 文件夹
输入 adb shell mkdir /sdcard/Android/data/com.heytap.colorfulengine/files/widget,因为我已创建过,所以它提示已存在
关于命令中间 com.heytap.colorfulengine 这个地址,可以打开 多彩引擎 软件,最上面有提示
PS C:\Users\Administrator> adb shell mkdir /sdcard/Android/data/com.heytap.colorfulengine/files/widget
mkdir: '/sdcard/Android/data/com.heytap.colorfulengine/files/widget': File exists
3. 将创建的组件包发送到手机
如果你还没有创建自己的组件,可以先下载官方示例里 模板包,下载后重新命名简短点,然后 cd 到当前目录(或在当前目录右键打开 cmd 命令)执行发送命令 adb push xxx.zip /sdcard/Android/data/com.heytap.colorfulengine/files/widget。xxx.zip 请修改为具体你命名的文件名。
PS D:\workspace\2023\oppoTheme\oppowidget> adb push system.zip /sdcard/Android/data/com.heytap.colorfulengine/files/widget
system.zip: 1 file pushed, 0 skipped. 131.9 MB/s (240171 bytes in 0.002s)
出现以上提示,则表明发送成功
4. 手机端打开 多彩引擎 软件
点击新出现的压缩包,出现组件预览,然后 添加到桌面 即可

开发者进阶
1. 其他常用的 adb 命令
安装本地APK软件
adb install xxx.apk
删除手机上的组件文件
adb shell rm /sdcard/Android/data/com.heytap.colorfulengine/files/widget/xxx.zip
卸载手机软件请参考其他博文 使用adb安装或卸载卸载手机系统应用
2. 连接OPPO远程真机
请先查看 OPPO远程真机的官方介绍

前2步进行完毕后,执行以下命令
# 执行云真机连接命令,输入账号和密码,连接可用端口,比如23008,提示`failed to authenticate to 127.0.0.1:23008`不用理会是正常的
adb connect 127.0.0.1:14243
# 安装测试软件
adb install ColorfulEngine#Widget_13.0.62-Test-20230829-315979231.apk
# 安装完成后,其余操作和本地连接手机相同,推送组件然后查看
adb push xxx.zip /sdcard/Android/data/com.heytap.colorfulengine/files/widget
# 断开连接
adb disconnect 127.0.0.1:14243
3. PC端集成 组件打包/删除/压缩 命令
请查看我的上一篇博文 Cygwin,在windows中使用linux命令
安装 Cygwin 后,整个调试流程示例如下:
- 如果旧压缩包,先删除
rm .\xxx.zip
- 压缩
zip -r xxx.zip .\system\
- 推送压缩包到手机
adb push xxx.zip /sdcard/Android/data/com.heytap.colorfulengine/files/widget
OPPO主题组件开发 - 调试与预览的更多相关文章
- 混合开发使用Chrome Inspect调试WebView预览手机界面和定位元素
使用Chrome Inspect调试混合应用可以帮助我们排查问题.例如定位元素,快速修改CSS样式并实时查看效果.其实微信开发也是一种混合开发模式,微信可以看做一个原生的Android App搭配了一 ...
- Qt之股票组件-股票检索--支持预览框、鼠标、键盘操作
目录 一.感慨一下 二.效果展示 三.搜索编辑框 1.编辑框 2.预览框 四.相关文章 原文链接:Qt之股票组件-股票检索--支持预览框.鼠标.键盘操作 一.感慨一下 之前做过一款炒股软件,个人觉着是 ...
- 解决Android界面布局添加EditText组件后界面无法预览
错误报告: Exception raised during rendering: java.lang.System.arraycopy([CI[CII)V Exception details are ...
- 微信小程序开发之图片预览
实现图片的展示和大图预览 使用wx.previewImage(OBJECT)来实现 OBJECT参数说明: 参数 类型 必填 说明 current String 否 当前显示图片的链接,不填则默认为 ...
- 玩转Android Camera开发(一):Surfaceview预览Camera,基础拍照功能完整demo
杂家前文是在2012年的除夕之夜仓促完成,后来很多人指出了一些问题,琐事缠身一直没有进行升级.后来随着我自己的使用,越来越发现不出个升级版的demo是不行了.有时候就连我自己用这个demo测一些性能. ...
- Android Camera开发:使用GLSurfaceView预览Camera 基础拍照
GLSurfaceView是OpenGL中的一个类,也是可以预览Camera的,而且在预览Camera上有其独到之处.独到之处在哪?当使用Surfaceview无能为力.痛不欲生时就只有使用GLSur ...
- FineReport——JS二次开发(分页预览)
BS访问某个cpt模板,报表servlet将会将cpt文件解析成对应的html,报表内容最终转换为一个table,位于id=content-container的div中. 在模板和html页面中,他们 ...
- 阶段5 3.微服务项目【学成在线】_day09 课程预览 Eureka Feign_13-课程预览功能开发-CMS页面预览接口测试
5.2 CMS页面预览测试 CMS已经提供了页面预览功能,课程预览功能要使用CMS页面预览接口实现,下边通过cms页面预览接口测试课 程预览的效果. 1.向cms_page表插入一条页面记录或者从cm ...
- Android 开发 Camera2开发_3_处理预览和拍照偏暗问题
通过调整曝光解决 参考:https://stackoverflow.com/questions/28429071/camera-preview-is-too-dark-in-low-light-and ...
- vue组件利用formdata图片预览以及上传《转载》
转载修改 在项目中直接新建一个单文件页,复制一下代码即可 upload组件: <template> <div class="vue-uploader" ...
随机推荐
- JS异步解决方案及优缺点
1. 回调函数 优点: 解决了同步的问题(只要有一个任务耗时长后面的任务都会等待,会拖延程序执行) 缺点: 回调地狱 不能用try catch捕获 不能用 return setTimeout(( ...
- 你的专属音乐生成器「GitHub 热点速览」
如果你制作视频,一定会碰到配乐的问题.虽然网上找的一些免费配乐能勉强满足需求,但是如果有个专属的配乐生成器,根据你的视频画面生成对应配乐是不是不错呢?audiocraft 也许能帮助你,把相关画面用文 ...
- Docker和Kubernetes与容器自动化扩展:最佳实践
目录 1. 引言 2. 技术原理及概念 2.1 基本概念解释 2.2 技术原理介绍 2.3 相关技术比较 3. 实现步骤与流程 3.1 准备工作:环境配置与依赖安装 3.2 核心模块实现 3.3 集成 ...
- 使用Flask和Django构建Web应用程序:现代Web应用程序框架
目录 1. 引言 2. 技术原理及概念 2.1 基本概念解释 2.2 技术原理介绍 2.3 相关技术比较 3. 实现步骤与流程 3.1 准备工作:环境配置与依赖安装 3.2 核心模块实现 3.3 集成 ...
- 行行AI人才直播第4期: 跟随占冰强老师走近《如何定制企业专属AI大模型?》
行行AI人才是博客园和顺顺智慧共同运营的AI行业人才全生命周期服务平台. 每个企业定制专属AI大模型的目的都不同,比如某企业希望通过AI技术提升其客户服务和销售效果.该企业面临着庞大的商品数据.用户评 ...
- linux内核vmlinux的编译过程之 --- vmlinux.o详解(八)
内核构建系统之所以要在链接 vmlinux 之前,去链接出vmlinux.o.其原因并不是要将 vmlinux.o 链接进 vmlinux,而是要在链接 vmlinux.o 的过程中做完两个动作: e ...
- 简单了解:Linux 硬盘分区管理命令 fdisk、parted、sfdisk、sgdisk
支持分区格式 详情链接 fdisk MBR https://zhuanlan.zhihu.com/p/56273534 parted MBR.GPT https://www.cnblogs.com/m ...
- Linux: rsyslog.conf 配置
refer to: https://www.debian.org/doc/manuals/debian-handbook/sect.syslog.en.html 日志子系统 Each log mess ...
- 【linux】你需要以 root 身份执行此命令
1.设置root用户的密码: sudo passwd root 2.切换到root用户权限 su 3.切换回个人用户权限 exit
- Python工具箱系列(三十九)
使用zlib对数据进行压缩 现实世界中,大量存在着对数据压缩的需求.为此,python内置了zlib压缩库,可以方便的对任意对象进行压缩. 下述代码演示了对字符串进行压缩: import zlib # ...