Ubuntu14.04下配置并使用MTK flash tool

2023-05-16

前言

  由于从事的工作需要经常对手机进行刷机操作,而MTK提供的flash tool基本都是在Windows下运行的,很多工作又是在linux下完成的,要涉及到大量的android源码编译、生成刷机包、调试手机效果等操作。以前的安卓刷机包大小不过一两个G,生成刷机包的时候还算轻松,花不了太多时间,但是随着android系统越来越完善,其固件体积也越来越大。到android 10 Q版本之后更是达到了5、6个G之多,每次生成刷机包就是件很麻烦很费时间的事情了。因此最后还是花了不少时间来将flash tool安装在ubuntu下,这里将安装配置的整个过程做个记录,方便以后查看。

安装过程

第一步 下载Linux版本的flash tool

  有的人使用wine运行windows下的.exe程序也可以成功运行flash tool,但是由于系统不同,可能会导致不同的问题,有的人的电脑可以运行.exe格式的flash tool,有的人的电脑就不行。因此,我建议直接安装Linux版本的flash tool,一劳永逸的解决不兼容的问题。这里是Linux版本的flash tool的下载链接:Linux版本,
除此之外,也可自行前往以下网站下载其他版本:flash tool下载网站。下载好的工具包为.rar格式压缩的,因此需要下载rar解压工具,方法如下:
方法一:直接鼠标右键点击压缩包,选择“提取到此处”,系统会提示你没有安装解压工具,按提示安装即可。
方法二:终端中通过包管理器获取:

sudo apt-get update
sudo apt-get install RAR 

提示是否安装的时候选择Y,就可以将解压工具安装到电脑中了。

第二步 将flash tool拷贝到根目录的opt目录中

先简单介绍下这个目录的作用:
1、opt目录
/opt目录用来安装附加软件包,是用户级的程序目录,可以理解为D:/Software。安装到/opt目录下的程序,它所有的数据、库文件等等都是放在同个目录下面。opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可。在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。
2、/usr/local目录
/usr:系统级的目录,可以理解为C:/Windows/。
/usr/lib:理解为C:/Windows/System32。
/usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。
这里主要存放那些手动安装的软件,即不是通过“新立得”或apt-get安装的软件。它和/usr目录具有相类似的目录结构。让软件包管理器来管理/usr目录,而把自定义的脚本(scripts)放到/usr/local目录下面。

下面步入正题:
由于/otp目录需要超级权限才能进行读写操作,为了将压缩包拷贝到/opt目录中,方法有两种:
一、在终端中输入:sudo nautilus 命令会打开文件资源管理器,新打开的窗口具有超级权限,可以对原先无法进行读写操作的目录进行读写操作。将你想要拷贝的rar压缩文件拷贝到/opt目录中即可。在新建的MTK/Flash_Tool目录下解压压缩文件,效果如下图所示:在这里插入图片描述

二、在终端中通过命令行的方式复制并解压文件

sudo mkdir /opt/MTK
sudo mkdir /opt/MTK/Flash_Tool  #这里分两步,ubuntu14.04无法直接建立多级目录
cd MTK_Tool  #压缩文件所在文件夹 
sudo cp SP_Flash_Tool_v5.1844_Linux.rar /opt/MTK/Flash_Tool/
cd /opt/MTK/Flash_Tool
sudo unrar x SP_Flash_Tool_v5.1844_Linux.rar SP_Flash_Tool_v5.1844_Linux
第三步 配置驱动

终端中执行sudo gedit /etc/udev/rules.d/53-android.rules命令创建新文件,这个文件是用于adb调试的,在打开的文件中增加以下文本:

SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}="0bb4", ATTR{idProduct}="0c03", SYMLINK+="android_adb"

终端中执行sudo gedit /etc/udev/rules.d/53-MTKinc.rules命令创建新文件,这个文件是用于下载的,在打开的文件中增加以下文本:

SUBSYSTEM=="usb", SYSFS{idVendor}=="0e8d", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}="0e8d", ATTR{idProduct}="2000", SYMLINK+="android_adb"
KERNEL=="ttyACM*", MODE="0666"

然后重新加载驱动:

sudo chmod a+rx /etc/udev/rules.d/53-android.rules
sudo chmod a+rx /etc/udev/rules.d/53-MTKinc.rules
sudo /etc/init.d/udev restart      

备注:idVendor 与 idProduct的通过lsusb命令查看
KERNEL==“ttyACM*”, MODE="0666"是给flash_tool运行过程中生成的设备文件增加权限,这样不需要管理员权限即可运行。

第四步 改权限

在终端中输入sudo chmod a+x /opt/MTK/Flash_Tool/SP_Flash_Tool_v5.1844_Linux/flash_tool.sh命令将文件更改为可执行文件,运行即可正常使用了。在这里插入图片描述

这里有的小伙伴的电脑还是不能正常打开,出现两种如下错误:
第一种:
BROM ERROR : S_UNDEFINED_ERROR (1001)
第二种:

Total wait time = -1531116139.000000
USB port is obtained. path name(/dev/ttyACM0), port name(/dev/ttyACM0)
USB port detected: /dev/ttyACM0
Connect BROM failed: STATUS_ERR
Disconnect!
BROM Exception! ( ERROR : STATUS_ERR (-1073676287) , MSP ERROE CODE : 0x00

  这是由于modemmanager包在ubuntu 14.04 或是更高版本中对于MTK的Flash工具支持不完全所造成的,如果想使用MTK的Flash工具,就要卸载这个包,在终端中执行以下命令:
sudo apt-get remove modemmanager
然后重启udev服务:
sudo service udev restart
卸载这个服务之后可能会造成内核模块cdc_acm不可用,执行以下命令进行检查:
lsmod | grep cdc_acm
如果没有输出,执行:
sudo modprobe cdc_acm
然后就可以了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu14.04下配置并使用MTK flash tool 的相关文章

  • 使用 Swift 以编程方式闪烁屏幕(在“屏幕截图”上)

    为了从这里转换 Objective C 示例 如何以编程方式闪烁屏幕 https stackoverflow com questions 5254508 how to flash screen programmatically我写了以下代码
  • Flash AS3 - 如何访问其他帧(也称为非一帧)中的显示对象

    只要该子项位于第一帧中 getChildByName name 就会起作用 其他框架中的显示对象还没有被实例化 所以并不是说不能访问它们 它们不存在可供访问的地方 当播放头进入具有特定对象的关键帧时 会创建该对象并将其添加到舞台中 当播放头
  • 使用 Actionscript 3 连接到数据库 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在寻找有关如何基于数据库在 Flash 中动态创建内容的建议 最初我想将数据库导出到 XML 文件并使用内置的 Actionscr
  • Flash AS3 - 将多个对象拖放到一个目标?

    标题或多或少是不言自明的 我一直在学习许多不同的教程 而且说实话 我对 AS3 不太擅长 上图显示了我的目标 无论如何 我在我看到的大多数在线教程中注意到 拖放教程要么基于一个对象到一个目标 要么基于多个对象到多个目标 所以我想知道是否有人
  • Chrome 更新阻止 Flash 自动播放 - 如何避免?

    我在 html 页面中嵌入了 YouTube 视频 我将 youtube iframe API 与 Flash 结合使用 在我的例子中 我无法使用 HTML5 视频 自上次 Google Chrome 更新以来 Chrome 会阻止自动播放
  • 如何在 AS3 中设置 swf 的宽度和高度?

    如何在 AS3 中设置 swf 的宽度和高度 到目前为止 这是我的代码 package import flash display Sprite public class Game extends Sprite 现在 加载时它处于任意默认大小
  • 打开 PDF 或文件夹

    我尝试打开在 Flash Player 中运行的 swf 应用程序中通过鼠标单击触发的 PDF 或文件夹 在查找器 资源管理器中 通过 urlRequest 打开 PDF 和navigateToUrl 总是打开浏览器 我读到this htt
  • 我可以从 C# 转换为 asp.Net 以在线托管应用程序吗? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 是否可以将 C 应用程序转换为 as
  • flash/flex:渐进式下载与 rtmp

    我试图理解并真正确定何时在 Flex flash 中使用渐进式下载与 rtmp 看来主要的一点是 rtmp 不与 http 一起提供服务 而渐进式下载则由 http 提供 由于它不是 rtmp 因此资源受到保护 因为无法从 swf 外部连接
  • AS3 是否可以复制 Shape 对象?

    我正在尝试制作一个可用于复制的形状 这是我所做的 我正在尝试做的以及我陷入困境的解释 在 Flash IDE 画笔 中手动绘制形状 创建了一个包含形状的新影片剪辑 作为一个类导出 实例化该类 var mc MovieClip new sha
  • as3 事件 - 类型强制失败?

    我正在将事件从孩子发送到父母 swf 它工作正常 直到我使用预加载器 swf 加载父级 然后父级停止从子级获取事件 我现在收到此错误 TypeError Error 1034 Type Coercion failed cannot conv
  • 求反射角的弧度

    我正在编写一个简单的 Flash 游戏 只是为了学习 Flash 并提高我的数学能力 但我对弧度感到非常困惑 因为这对我来说是新的 到目前为止 我所做的是使用鼠标 单击并释放 使用弧度向该方向射出一个球 现在我想要发生的是 当球撞到墙壁时
  • 是否可以使用 S3 进行 Flash 伪流?

    我一直在使用 S3 来存储和提供 FLV 和 MP4 视频 它效果很好 但内容是渐进下载的 我想知道是否有可能让所谓的 伪流 与 S3 一起使用 伪流允许观看者在下载完整视频之前在视频中向前搜索 并仅将必要的位发送到 Flash 播放器 我
  • 在 WordPress 页面上嵌入 swf

    我正在尝试将 swf 嵌入到 WordPress 页面中 这听起来很简单 但它不起作用 我不明白为什么 我已将所有相关文件上传到服务器上 并且我相当确定所有文件路径都是正确的 包含 fla 和 swf 文件的文件夹还包含一个 index h
  • 如何在动作脚本 3 中设置/访问外部 swf 文件的动态文本字段?

    我正在处理一个 fla 文件 其中添加了一个 swf 文件 我如何在该 swf 文件的动态文本上设置文本 有没有直接设置文本的方法 我不想在 url 中作为参数传递 我试过这样 var rq URLRequest new URLReques
  • 使用jquery调用AS3外部接口

    我正在使用ExternalInterface 调用嵌入在html 页面中的Flash 应用程序 以下代码工作正常 我正在使用按钮进行测试 document ready function button click function var a
  • 如何通过命令行将Flash .fla编译为.swf? [复制]

    这个问题在这里已经有答案了 如何在基于 Windows 的操作系统上通过命令行将 Flash fla 文件编译为 swf 需要安装的命令行工具就可以了 谁能建议我该怎么做 以直接的方式 谢谢 您可以使用JSFL为 Flash IDE 编写脚
  • 在 Javascript 中检测 Flash 文件何时完成播放

    我正在使用 Javascript 将 Flash 文件嵌入到网站中 然后需要在播放完成后将其删除 有没有办法用普通的 Javascript 来做到这一点 或者是否需要将回调类型的函数添加到 Flash 文件本身 我该如何编码 JavaScr
  • 在 Flash Player 10 中打开 pdf

    我需要在 Flash Player 10 中打开 PDF 该 swf 不会在浏览器中运行 并且系统上不会有 adobe reader 程序 我需要知道是否可以在 Flash 播放器中打开 PDF 而无需以任何方式进行转换 我在谷歌上搜索了无
  • Youtube as3 API 似乎不再起作用

    我正在使用 as3 Youtube 官方 API 我需要在 swf 文件中加载 API 播放器 我已经在几个项目上完成了 一切都很好 但几个小时后 我的所有项目现在都坏了 这是崩溃的代码片段 Security allowDomain www

随机推荐