• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

巧用ThinkPHP5.1和 tufanbarisyildirim 快速解析apk

php 搞代码 4年前 (2022-01-21) 15次浏览 已收录 0个评论

对于apk,我可以说只会安装,并不知道其中有什么内容需要记录下来。因为这类的项目完全没有接触过,而且网上搜一下也看不到这类的开发流程和需求。本文的主要内容是关于用ThinkPHP5.1 和tufanbarisyildirim 解析apk,感兴趣的朋友可以来了解一下。

TP5获取上传文件并验证

tp5获取上传文件可以说是相当的简单,(注意此处的$file的类型是tp5封装的File)

$file = $this->request->file('file');

这样就可以直接的获取上传的文件,简单的蛋疼。

首先验证文件是否上传了并且是否为空。

if (false === ($file instanceof File)) {  //文件为空,抛异常/业务处理}

然后就是验证文件的类型了,apk的媒体信息其实就是zip,千万不要使用后缀名进行判断啊。年轻的我就是用后缀进行判断的。

老司机看到就建议我使用getMime方法获取文件的媒体进行进行匹配。(getMime属于tp5 File的封装方法)

if ('application/zip' !== $file->getMime()) {  //文件类型错误,抛异常/业务处理}

tufanbarisyildirim

加入composer

"require": {        "tufanbarisyildirim/php-apk-parser":"dev-master"    }

然后到项目路径安装一下,没安装composer就安装composer或者直接从网上拉咯。

composer install

Parser解析apk

Parser位于 ApkParser目录下,实例化时只需要传入apk的全路径名

$apkParser = new \ApkParser\Parser($file->getPathname());

以下为获取apk中的参数

$apkParser->getManifest()->getPackageName(); //获取apk包名$apkParser->getManifest()->getVersionCode(); //获取apk版本号$apkParser->getManifest()->getVersionName(); //获取apk版本名称$apkParser->getManifest()->getMinSdk(); // 支持最低sdk的平台$apkParser->getManifest()->getMinSdkLevel(); // 支持最低sdk的版本$apkParser->getManifest()->getTargetSdk(); // 目标Sdk的平台$apkParser->getManifest()->getTargetSdkLevel(); //目标sdk的版本$labelIndex = $apkParser->getManifest()->getApplication()->getLabel(); //获取应用名称的索引$a<i style="color:transparent">本文来源gaodai$ma#com搞$$代**码)网8</i><strong>搞代gaodaima码</strong>pkParser->getResources($labelIndex); //获取应用名称的数组$iconIndex = $apkParser->getManifest()->getApplication()->getIcon();//获取图标的索引$icons = $apkParser->getResources($iconIndex); //获取图标路径的数组file_put_contents('保存icon图标的全路径名', stream_get_contents($apkParser->getStream($icons[0]))); //把第1个图标转为流后保存到相应的目录

个人使用这个控件时遇到点问题,就是应用名称数组,我怎么才能知道应用名称对应的语言呢?因为应用名称中可能有简体中文、繁体中文、英文等。我怎么才能取出简体中文的应用名称呢?

相关教程:PHP视频教程

以上就是巧用ThinkPHP5.1和 tufanbarisyildirim 快速解析apk的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:巧用ThinkPHP5.1和 tufanbarisyildirim 快速解析apk

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址