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" ...
随机推荐
- 【LeetCode专题#基本计算器】基本计算器I,图解中序表达式转逆波兰表达式,太难了
基本计算器 https://leetcode.cn/problems/basic-calculator/?envType=list&envId=cKNEfNsF 给你一个字符串表达式 s ,请 ...
- postgresql json取值为何这么慢?
一.缘起 慢sql分析,总行数80w+. 比较特殊的是:其中有个字段info是jsonb类型,写法:info::json->'length' as length 同样的查询条件查这个字段和不查这 ...
- 深入Python网络编程:从基础到实践
Python,作为一种被广泛使用的高级编程语言,拥有许多优势,其中之一就是它的网络编程能力.Python的强大网络库如socket, requests, urllib, asyncio,等等,让它在网 ...
- Mininet教程
mininet的安装 1.前言 1.本次安装环境为ubuntu20.04. 2.mininet 为 github上的最新版,我已经修改镜像地址并克隆到了gitee,只需要从我的gitee仓库克隆即可. ...
- PostgreSQL 12 文档: 部分 I. 教程
部分 I. 教程 欢迎来到PostgreSQL教程.下面的几章将为那些新接触PostgreSQL.关系数据库概念和 SQL 语言的读者给出一个简单介绍.我们只假定读者拥有关于如何使用计算机的一般知识. ...
- Python与MySQL如何保持长连接
Python与MySQL如何保持长连接 介绍 在python后端开发中,时常会与数据库交互,重复的断开.连接 会大大消耗数据库资源. 所以一般都是定义全局变量,来弥补这个缺陷. 但是 Python 与 ...
- 理解ASP.NET Core - 限流(Rate Limiting)
注:本文隶属于<理解ASP.NET Core>系列文章,请查看置顶博客或点击此处查看全文目录 概述 在微服务化的架构设计中,网关扮演着重要的看门人角色,它所提供的功能之一就是限流.而对于众 ...
- 仅三天,我用 GPT-4 生成了性能全网第一的 Golang Worker Pool,轻松打败 GitHub 万星项目
目录 1. 我写了一个超牛的开源项目 1.1 你看看这性能 1.2 你看看这功能 1.3 你猜我这一百天都经历了啥 2. 你有多久没写并发程序了? 3. 问:一个 Worker Pool 程序需要包含 ...
- Windows平台的JDK安装及IDEA配置JDK的过程
1.下载安装包 jdk-8u201-windows-x64.exe,即jdk1.8.0_201 链接:https://pan.baidu.com/s/1WYaTlProtHkC_KyMHIUBxQ?p ...
- 形象谈JVM-第三章-即时编译器优化技术
即时编译器优化技术一览: 相信许多同学看完这个表格,脑子里面嗡嗡的,这些名字也是晦涩难懂,要实现这些优化的技术确实有比较大的难度,但是咱们只是学习,去理解这些技术,其实并不难,下面咱们直接开讲. 首先 ...