php实现自定义apk安装包
apk格式安装文件是android智能系统的安装文件了,下面我们来看一个利用php实现自定义apk安装包例子,希望能帮助到各位.
需求: 突然收到老大的需求,要对产品进行一次推荐好友安装的活动,每个会员下载自己的专属安装包,里面记录会员的相关信息.
思路: 经过了解,发现apk安装包原来只是zip的一个马甲,使用php的ZipArchive类可以对文件进行操作.
实现代码如下:
// 源文件 $apk = "gb.apk" ; // 生成临时文件 $file = tempnam( "tmp" , "zip" ); // 复制文件 if (false=== file_put_contents ( $file , file_get_contents ( $apk ))){ exit ( 'copy faild!' ); } // 打开临时文件 $zip = new ZipArchive(); $zip ->open( $file ); // 添加文件 // 由于apk限定只能修改此目录内的文件,否则会报无效apk包 $zip ->addFromString( 'META-INF/extends.json' , json_encode( array ( 'author' => 'deeka' ))); //开源代码phpfensi.com // 关闭zip $zip ->close(); // 下载文件 header("Content-Type: application/zip" ); header("Content-Length: " . filesize ( $file )); header("Content-Disposition: attachment; filename=\" { $apk }\ "" ); // 输出二进制流 readfile($file ); // 删除临时文件 unlink($file );