本篇作为 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. 【LeetCode专题#基本计算器】基本计算器I,图解中序表达式转逆波兰表达式,太难了

    基本计算器 https://leetcode.cn/problems/basic-calculator/?envType=list&envId=cKNEfNsF 给你一个字符串表达式 s ,请 ...

  2. postgresql json取值为何这么慢?

    一.缘起 慢sql分析,总行数80w+. 比较特殊的是:其中有个字段info是jsonb类型,写法:info::json->'length' as length 同样的查询条件查这个字段和不查这 ...

  3. 深入Python网络编程:从基础到实践

    Python,作为一种被广泛使用的高级编程语言,拥有许多优势,其中之一就是它的网络编程能力.Python的强大网络库如socket, requests, urllib, asyncio,等等,让它在网 ...

  4. Mininet教程

    mininet的安装 1.前言 1.本次安装环境为ubuntu20.04. 2.mininet 为 github上的最新版,我已经修改镜像地址并克隆到了gitee,只需要从我的gitee仓库克隆即可. ...

  5. PostgreSQL 12 文档: 部分 I. 教程

    部分 I. 教程 欢迎来到PostgreSQL教程.下面的几章将为那些新接触PostgreSQL.关系数据库概念和 SQL 语言的读者给出一个简单介绍.我们只假定读者拥有关于如何使用计算机的一般知识. ...

  6. Python与MySQL如何保持长连接

    Python与MySQL如何保持长连接 介绍 在python后端开发中,时常会与数据库交互,重复的断开.连接 会大大消耗数据库资源. 所以一般都是定义全局变量,来弥补这个缺陷. 但是 Python 与 ...

  7. 理解ASP.NET Core - 限流(Rate Limiting)

    注:本文隶属于<理解ASP.NET Core>系列文章,请查看置顶博客或点击此处查看全文目录 概述 在微服务化的架构设计中,网关扮演着重要的看门人角色,它所提供的功能之一就是限流.而对于众 ...

  8. 仅三天,我用 GPT-4 生成了性能全网第一的 Golang Worker Pool,轻松打败 GitHub 万星项目

    目录 1. 我写了一个超牛的开源项目 1.1 你看看这性能 1.2 你看看这功能 1.3 你猜我这一百天都经历了啥 2. 你有多久没写并发程序了? 3. 问:一个 Worker Pool 程序需要包含 ...

  9. Windows平台的JDK安装及IDEA配置JDK的过程

    1.下载安装包 jdk-8u201-windows-x64.exe,即jdk1.8.0_201 链接:https://pan.baidu.com/s/1WYaTlProtHkC_KyMHIUBxQ?p ...

  10. 形象谈JVM-第三章-即时编译器优化技术

    即时编译器优化技术一览: 相信许多同学看完这个表格,脑子里面嗡嗡的,这些名字也是晦涩难懂,要实现这些优化的技术确实有比较大的难度,但是咱们只是学习,去理解这些技术,其实并不难,下面咱们直接开讲. 首先 ...