参考OPPO主题设计师站:

http://dev.theme.oppomobile.com/user/user_start

想要打包成Theme文件,必须把需要打包的文件夹拖到oppo-themepack.exe这个应用程序上执行:

每次拖来拖去都很麻烦,然后就写个程序一键执行:

主要代码:

/// <summary>
/// 生成Theme文件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnGenerate_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(this.txtPathFolder.Text))
{
return;
} var packToolPath = @"..\..\PackTools\oppo-themepack.exe"; // 打包的exe程序绝对路径
var themeFolderPath = this.txtPathFolder.Text.Trim(); // 需要打包的文件夹目录
var myProcess = new Process();
var myStartInfo = new ProcessStartInfo(packToolPath, themeFolderPath);
myProcess.StartInfo = myStartInfo;
myProcess.Start();
myProcess.WaitForExit(); //等待程序退出 var generateThemeFolder = Directory.GetParent(themeFolderPath).ToString();
DialogResult dr = MessageBox.Show($"打包完成,文件存放路径:{generateThemeFolder},是否打开Theme文件所在文件夹?", "提示", MessageBoxButtons.OKCancel);
if (dr == DialogResult.OK)
{
Process.Start("Explorer.exe", generateThemeFolder);
}
this.txtPathFolder.Text = string.Empty;
} /// <summary>
/// 选择需要打包的Theme文件目录
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnPathFolder_Click(object sender, EventArgs e)
{
FolderBrowserDialog dialog = new FolderBrowserDialog();
dialog.Description = "请选择文件路径";
if (dialog.ShowDialog() == DialogResult.OK)
{
this.txtPathFolder.Text = dialog.SelectedPath;
}
}

源码:ThemeGenerateTool.rar

【OPPO主题制作系列 - 01】-- 写个小工具自动打包Theme文件的更多相关文章

  1. 分享一个很早之前写的小工具DtSpyPlus

    几年前写的一个获取windows窗体基本信息和屏幕取色的小工具 ,一直在用. 下载地址 http://files.cnblogs.com/dint/SpyPlus.zip

  2. OpenCV探索之路(二十五):制作简易的图像标注小工具

    搞图像深度学习的童鞋一定碰过图像数据标注的东西,当我们训练网络时需要训练集数据,但在网上又没有找到自己想要的数据集,这时候就考虑自己制作自己的数据集了,这时就需要对图像进行标注.图像标注是件很枯燥又很 ...

  3. 应急分析异常通信的小思路和自己写的小工具(查询CNAME和A记录)

    一.背景: 在很多时候,应急会发现.卧槽,异常连接,只有一个域名或者IP. 怎么办?上防火墙看记录,查域名对应的记录累成狗,自己把之前的代码改了改,写了个小工具,一条命令查询DNS相关记录,也可以指定 ...

  4. [No00006C]文件名复制,归档小助手【自己写的小工具,希望能帮助大家】

    特别补充一句:软件可以一次性复制多个文件的文件名. Windows 中的复制文件名实在是有些不方便 ,需要点右键 "重命名"之后再点右键选择"复制"才可复制文件 ...

  5. 利用PyQt4写的小工具软件

    应公司文职工作人员需求,写一个车间人员工作时间的统计软件,输入开始工作时间1,再输入结束工作时间2,计算两个时间的差值. 根据需求,初步构想的UI界面如下: 下面开始干活. 分析后觉得利用PyQt4来 ...

  6. 前端工程化系列[01]-Bower包管理工具的使用

    本文主要介绍前端开发中常用的包管理工具Bower,具体包括Bower的基本情况.安装.使用和常见命令等内容,最后还介绍了依赖树管理的常见方式以及Bower采用的策略并进行了比较. 1.1 关于Bowe ...

  7. Python写黑客小工具,360免杀

    构思: client:反向连接server,执行shell命令 server:发送命令,控制客户端 import subprocess import socket import threading t ...

  8. 入坑python 自己写的小工具,纪念一下

    这个程序的功能是可以从表格中读取某一列数据,传到IDs 这一个参数里,然后在url中获取相应的请求值,并打印 import urllib.request import json import xlrd ...

  9. Python写安全小工具-TCP全连接端口扫描器

    通过端口扫描我们可以知道目标主机都开放了哪些服务,下面通过TCP connect来实现一个TCP全连接端口扫描器. 一个简单的端口扫描器 #!/usr/bin/python3 # -*- coding ...

随机推荐

  1. (转)Spring4.2.5+Hibernate4.3.11组合开发

    http://blog.csdn.net/yerenyuan_pku/article/details/52887573 搭建和配置Spring与Hibernate整合的环境 今天我们来学习Spring ...

  2. DBMS数据库语言

    https://www.yiibai.com/dbms/dbms-language.html DBMS具有适当的语言和接口来表达数据库查询和更新.数据库语言可用于读取,存储和更新数据库中的数据. 数据 ...

  3. 主成分分析、因子分析、ICA(未完成)

    并且SVD分解也适用于一般的矩阵. 主成分分析可以简单的总结成一句话:数据的压缩和解释.常被用来寻找判断某种事物或现象的综合指标,并且给综合指标所包含的信息以适当的解释.在实际的应用过程中,主成分分析 ...

  4. QT_2

    1.默认生成代码的含义(.pro)

  5. python之int (整型)

    用途: 用于计算和比较 整型的格式: 10203 123 3340 整型的运算: + - * / ** // % 整数的加: a = 10 b = 20 print(a + b) # 输出结果 30 ...

  6. PHP07 函数

    学习要点 函数的定义 自定义函数 函数的工作原理和结构化编程 PHP变量范围 声明及应用各种形式的PHP函数 递归函数 使用自定义函数库 匿名函数和闭包 常用PHP系统函数 PHP7函数新特性 函数的 ...

  7. freemarker特殊字符输出

    期望输出: #{fefefefwewrerwerwrrrre}${fffqqqwwwwwwwwwwwwwwww} 但是以上解析ftl时候会报错!!!!!!!!!!!! 解决办法: 方法1:使用${r& ...

  8. 解决chrome 批量下载器 mgblihnaaedmhhgadafknogahbgejnno 插件乱码

    找到 mgblihnaaedmhhgadafknogahbgejnno\当前版本号(0.0.1_0)\popup.html <html> <head> <meta cha ...

  9. swift详解之十-------------异常处理、类型转换 ( Any and AnyObject )

    异常处理.类型转换 ( Any and AnyObject ) 1.错误处理 (异常处理) swift 提供第一类错误支持 ,包括在运行时抛出 ,捕获 , 传送和控制可回收错误.在swift中 ,错误 ...

  10. 洛谷 P1708 天然气井 题解

    https://www.luogu.org/problemnew/show/P1708 这道题还是比较好的. 读完题目我们先想想如何计算某个天然气井($x_1,y_1$)和中转站($a_1,b_1$) ...