exec 函数执行错误——应用:PHP提取apk的icon图标图片
来源:互联网 发布:二战日本最大版图 知乎 编辑:程序博客网 时间:2024/06/06 02:37
作者:林子木 wolinxuebin
转载请保留:http://blog.csdn.net/wolinxuebin
今天在做项目,从apk中读取图片icon信息。因为有大量的数据要读取,又因为现在自己测试的处理的都是windows环境,将数据处理完之后才上传到服务器,真心高了半天了。
主要是做了两件事:1、读取apk的icon路径等信息 2、解压出该路径下的图片。
直接上代码先:
<?php/********************************** * 作者:林子木 * 功能:提取apk中的icon * 系统:windows */define("AAPTTOOL","c:/apktool/aapt");//aapt工具的路径define("UNZIP","E:/GnuWin32/bin/unzip.exe");//试了试winrar等,没成功,就用了unzip,而linux有自带这个的 function getApkIcon($apk_file,$save_path){ $aapt = AAPTTOOL;//aapt工具的路径 exec("{$aapt} d badging {$apk_file}",$out,$return);//从apk中解除信息 //print_r('$out');//可以查看输出信息if($return == 0){$str_out = implode("\n", $out);//分离信息} $pattern_icon = "/icon='(.+)'/isU";//提取icon信息preg_match($pattern_icon, $str_out,$m);$info['icon']= $m[1];if($info['icon']){$command = UNZIP." -o -j {$apk_file} {$info['icon']} -d $save_path";exec($command);//解压 } } getApkIcon("c:/test.apk","c:/tmp/");?>
用到的工具有:1、apktool 这个网上挺多的,还有安装教程,唯一麻烦是要在java环境下才能运行
2、unzip :http://download.csdn.net/detail/wolinxuebin/4464939 测试了winrar不大能解压apk,可能因为我水平有限
这里再讲讲很重要的一点,exec运行出错
今天本来我的软件是装在E:/Program Files/GnuWin32/ 下的 所以define的时候是
define("UNZIP","E:/Program Files/GnuWin32/bin/unzip.exe");但是始终运行没有结果,这个exec不会报错的
exec("{$aapt} d badging {$apk_file}",$out,$return);查看$return 始终是1 那么就是没有运行成功。
而这命令在命令行里面是完全可以运行的。
最后终于发现,exec()中的commod参数中的目录,不能包含空格,也就是Program Files 应该变为ProgramFiles才行,所以我就换了一个安装目录。
- exec 函数执行错误——应用:PHP提取apk的icon图标图片
- PHP 执行exec函数
- php的exec函数不执行
- PHP 执行 system、exec 等函数发生错误
- PHP 执行 system、exec 等函数发生错误
- php的exec()函数执行外部Linux脚本问题
- 判断PHP的exec函数是否执行成功
- UbuntuGnome下添加应用的图标icon
- iOS应用的Icon图标设置
- PHP exec 函数 执行Linux命令
- php中exec函数执行linux命令
- iOS 应用图标icon
- Android 中获取未安装APK的 图标 || icon
- ios项目应用图标icon和default图片命名规则
- PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
- php的exec函数怎么回事?
- shell 命令的执行—fork & exec
- Android项目为一个apk设置多个ICON图标和执行入口
- Qt 打开指定网站/系统文件夹
- excel 列名A,B,C修订为 1,2,3的方法
- 自己实现一个IOC框架
- SSH中spring、hibernate、struts各起什么作用
- JSF 提交 校验
- exec 函数执行错误——应用:PHP提取apk的icon图标图片
- 27款优秀的文本编辑器
- linq学习(from)
- java-枚举 enum
- HTML5 MatrixTransform矩阵变换
- SWT中按钮的监听器
- 设计模式
- 时无英雄,使竖子成名!
- 同步和异步