本篇作为 OPPO主题组件调试与预览 文档的补充,因为它真的很简单而且太老,一些命令已发生变化

1. 调试前准备

1. PC 端下载 adb命令工具

  1. 下载 https://adbdownload.com/,或从其他地方下载也可
  2. 解压,放在你想放的文件夹下
  3. 配置环境变量

    右键 我的电脑/此电脑 选择 属性,在弹出的面板里选择 高级系统设置



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



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



    最后一步步确定,关闭所有面板
  4. 测试

    打开命令行工具,输入 adb,出现如下,则表示安装成功

2. 手机端安装 多彩引擎

下载地址参见 https://open.oppomobile.com/new/developmentDoc/info?id=12221,下载后安装到手机上

3. 手机连接电脑

  1. 手机找到 开发者选项

    没这个选项的话,请打开手机 设置 -> 关于本机 -> 版本信息,然后持续点击 版本号,直至出现类似 您现在已处于开发者模式 的提示即可。然后在 设置 -> 其他设置 下即可找到 开发者选项

  2. 打开开发者选项里的 USB调试

    出现提示,请点击 确定

  3. 手机通过 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/widgetxxx.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 后,整个调试流程示例如下:

  1. 如果旧压缩包,先删除
rm .\xxx.zip
  1. 压缩
zip -r xxx.zip .\system\
  1. 推送压缩包到手机
adb push xxx.zip /sdcard/Android/data/com.heytap.colorfulengine/files/widget

OPPO主题组件开发 - 调试与预览的更多相关文章

  1. 混合开发使用Chrome Inspect调试WebView预览手机界面和定位元素

    使用Chrome Inspect调试混合应用可以帮助我们排查问题.例如定位元素,快速修改CSS样式并实时查看效果.其实微信开发也是一种混合开发模式,微信可以看做一个原生的Android App搭配了一 ...

  2. Qt之股票组件-股票检索--支持预览框、鼠标、键盘操作

    目录 一.感慨一下 二.效果展示 三.搜索编辑框 1.编辑框 2.预览框 四.相关文章 原文链接:Qt之股票组件-股票检索--支持预览框.鼠标.键盘操作 一.感慨一下 之前做过一款炒股软件,个人觉着是 ...

  3. 解决Android界面布局添加EditText组件后界面无法预览

    错误报告: Exception raised during rendering: java.lang.System.arraycopy([CI[CII)V Exception details are ...

  4. 微信小程序开发之图片预览

    实现图片的展示和大图预览 使用wx.previewImage(OBJECT)来实现 OBJECT参数说明: 参数 类型 必填 说明 current String 否 当前显示图片的链接,不填则默认为 ...

  5. 玩转Android Camera开发(一):Surfaceview预览Camera,基础拍照功能完整demo

    杂家前文是在2012年的除夕之夜仓促完成,后来很多人指出了一些问题,琐事缠身一直没有进行升级.后来随着我自己的使用,越来越发现不出个升级版的demo是不行了.有时候就连我自己用这个demo测一些性能. ...

  6. Android Camera开发:使用GLSurfaceView预览Camera 基础拍照

    GLSurfaceView是OpenGL中的一个类,也是可以预览Camera的,而且在预览Camera上有其独到之处.独到之处在哪?当使用Surfaceview无能为力.痛不欲生时就只有使用GLSur ...

  7. FineReport——JS二次开发(分页预览)

    BS访问某个cpt模板,报表servlet将会将cpt文件解析成对应的html,报表内容最终转换为一个table,位于id=content-container的div中. 在模板和html页面中,他们 ...

  8. 阶段5 3.微服务项目【学成在线】_day09 课程预览 Eureka Feign_13-课程预览功能开发-CMS页面预览接口测试

    5.2 CMS页面预览测试 CMS已经提供了页面预览功能,课程预览功能要使用CMS页面预览接口实现,下边通过cms页面预览接口测试课 程预览的效果. 1.向cms_page表插入一条页面记录或者从cm ...

  9. Android 开发 Camera2开发_3_处理预览和拍照偏暗问题

    通过调整曝光解决 参考:https://stackoverflow.com/questions/28429071/camera-preview-is-too-dark-in-low-light-and ...

  10. vue组件利用formdata图片预览以及上传《转载》

    转载修改 在项目中直接新建一个单文件页,复制一下代码即可       upload组件: <template> <div class="vue-uploader" ...

随机推荐

  1. 【python基础】input函数

    1.初识input函数 大多数程序都旨在解决最终用户的问题,为此通常需要从用户那里获取一些信息.例如假设有人要判断自己是否到了投票的年龄,要编写回答这个问题的程序,就需要知道用户的年龄,这样才能给出答 ...

  2. Airtest图像识别测试工具原理解读&最佳实践

    1 Airtest简介 Airtest是一个跨平台的.基于图像识别的UI自动化测试框架,适用于游戏和App,支持平台有Windows.Android和iOS.Airtest框架基于一种图形脚本语言Si ...

  3. Python编程和数据科学中的机器学习:如何处理和可视化具有噪声和干扰的数据

    目录 随着数据科学和机器学习的快速发展,处理和分析具有噪声和干扰的数据成为了一个日益重要的挑战.在数据科学和机器学习中,噪声和干扰通常来自于各种因素,例如随机性和非随机性,数据缺失,数据集中的错误或错 ...

  4. MySQL数据库的集群方案

    读写分离结构(主从) 读多写少,也就是对数据库读取数据的压力比较大. 其中一个是主库,负责写入数据,成为写库:其他都是从库,负责读取数据,成为读库. 对我们的要求: 读库和写库的数据一致: 写数据必须 ...

  5. dash构建多页应用

    dash 构建多页面应用一种方案 本方案对dash官网多页面案例使用dash_bootstrap_components案例进行优化与测试,效果如下 项目代码结构如下 │ app.py │ ├─asse ...

  6. 防缓存穿透利器-布隆滤器(BloomFilter)

    布隆过滤器 1.布隆过滤器原理 1.1 什么是布隆过滤器 1.2 使用场景 1.3 原理 1.4 布隆过滤器的优缺点 2.实现方式 2.1 初始化skuId的布隆过滤器 2.1.1 RedisCons ...

  7. 2022-02-08 IValueConverter和StringFormat

    主页 后台 stringFormat

  8. 2021-4-14 Tabpage隐藏功能

    隐藏:只需要将tabpage的parent设置为空即可 this.tabPage1.Parent = null; 重新显示只需将parent重新设置成tabcontrol的子项 this.tabPag ...

  9. 代码随想录算法训练营第二天| LeetCode 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II

    977.有序数组的平方 题目链接:https://leetcode.cn/problems/squares-of-a-sorted-array/ 文章讲解:https://programmercarl ...

  10. vulnhub billu:b0x

    知识点 SQLi.目录爆破.数据库操作.文件包含漏洞.提权.反弹shell 解题步骤 nmap扫描有80,22端口 nmap -sV -Pn -T 4 192.168.220.132 访问网页提示sq ...