windows下PHP批量生成打包android程序APK-渠道txt植入apk文件
服务器安装php环境
下载 android-sdk-windows 下载JDK
1.打开zip支持 c:/windows/php.ini ,打开 exec
2.apk 支持
mime添加 .apk application/vnd.android.package-archive
3.安装javaSDK(要和android的编辑版本一致)
4.编辑IIS绑定权限(www:www) ,目录没有权限会导致生成失败
5.配置两个虚拟主机
A:down.coolaj.cn 用于下载
B:make.cookaj.cn 用于制作签名
6. down的index.php
<?php
/*
* Created on 2012-5-21
* coolaj.cn
*/ // var_dump($id); function cocode() { foreach($_GET as $k=>$v){
$id = $k;
break;
}
if($_GET['u']){
$id=$_GET['u'];
}
if(is_numeric($id)){
return $id;
}elseif ($id && preg_match('/^U/', $id)) {
$id = base64_decode(substr($id,1).'=')>>2;
return $id;
}
} $id = cocode(); if(file_exists('bbshenqi'.$id.".apk") || empty($id)){
if(empty($id)){
header('Location: http://www.coolaj.cn/bbshenqi.apk');
exit;
}
header('Location: http://down.coolaj.cn/bbshenqi'.$id.'.apk');
}else{
$cc =file_get_contents("http://make.coolaj.cn/makeapk.php?apkname=".$id.'&r=简单加密');
if($cc == 'ok'){
if(file_exists('bbshenqi'.$id.".apk")){
echo '<meta http-equiv="content-type" content="text/html; charset=gbk" />';
echo '<a href="http://down.coolaj.cn/bbshenqi'.$id.'.apk">生成失败,点击重试</a>';
exit;
}
header('Location: http://down.coolaj.cn/bbshenqi'.$id.'.apk');
}
} ?>
7.makeapk.php
<?php
set_time_limit(0);
function zip($dir,$filename,$missfile=array(),$addfromString=array()){
if(!file_exists($dir) || !is_dir($dir)){
die(' can not exists dir '.$dir);
}
if(strtolower(end(explode('.',$filename))) != 'zip'){
die('only Support zip files');
}
$dir = str_replace('\\','/',$dir);
$filename = str_replace('\\','/',$filename);
if(file_exists($filename)){
die('the zip file '.$filename.' has exists !');
}
$files = array();
getfiles($dir,$files);
if(empty($files)){
die(' the dir is empty');
} $zip = new ZipArchive;
$res = $zip->open($filename, ZipArchive::CREATE);
if ($res === TRUE) {
foreach($files as $v){
if(!in_array(str_replace($dir.'/','',$v),$missfile)){
$zip->addFile($v,str_replace($dir.'/','',$v));
//$zip->addFile($v,str_replace($dir.'/','./',$v));
}
}
if(!empty($addfromString)){
foreach($addfromString as $v){
$zip->addFromString($v[0],$v[1]);
}
}
$zip->close();
//echo 'unsigin apk ok!<br>';
} else {
echo 'failed';
}
} function getfiles($dir,&$files=array()){
if(!file_exists($dir) || !is_dir($dir)){return;}
if(substr($dir,-1)=='/'){
$dir = substr($dir,0,strlen($dir)-1);
}
$_files = scandir($dir);
foreach($_files as $v){
if($v != '.' && $v!='..'){
if(is_dir($dir.'/'.$v)){
getfiles($dir.'/'.$v,$files);
}else{
$files[] = $dir.'/'.$v;
}
}
}
return $files;
} function file_content_replace($filename, $search, $replace){
$string = file_get_contents($filename);
$new_string = str_replace($search, $replace, $string);
if($string !=$new_string) file_put_contents($filename, $new_string);
} function goapk ($file){
exec("del bbshenqi.zip");
exec("del bbshenqi.apk");
exec("del gosign.bat");
exec("del D:\android\apk\bbshenqi\assets\unionid.txt");
exec("copy /Y demo.bat gosign.bat");
file_content_replace("gosign.bat","00000.apk",$file.'.apk');
exec('echo '.$file.'>D:\android\apk\bbshenqi\assets\unionid.txt');
zip("bbshenqi", "bbshenqi.zip");
exec("copy /Y bbshenqi.zip bbshenqi.apk");
exec("gosign.bat");
}
if($_GET['apkname']){
$name = $_GET['apkname'];
$r= $_GET['r'];
if($r=='yourpass'){
goapk($name);
echo 'ok';
} }
exit; ?>
8.demo.bat
"C:/Program Files/Java/jdk1.6.0_45/bin/jarsigner" -verbose -keystore key.keystore -storepass yourpass -storetype jks -sigfile CERT -signedjar bbshenqi_signed.apk bbshenqi.apk key.keystore
"D:\android\android-sdk-windows\tools\zipalign" -v 4 bbshenqi_signed.apk d:\apk\bbshenqi00000.apk
del bbshenqi_signed.apk
del bbshenqi.apk
windows下PHP批量生成打包android程序APK-渠道txt植入apk文件的更多相关文章
- windows下使用adb工具查看android程序cpu和内存消耗情况
在实际的开发当中,尤其软件运行在一个硬件设备比较差的环境下,对软件占用资源大的问题是开发者们必须要解决的问题,系统比较卡.觉得应该看看程序的cpu和内存消耗 一直以来都在windows下编程,已经习惯 ...
- MAC下配置gradle用eclipse 打包android程序
1.下载gradle binhttp://gradle.org/gradle-download/ 2.配置gradle,http://www.douban.com/note/311599602/htt ...
- Windows下将ImageMagick移植到Android平台
Windows下将ImageMagick移植到Android平台 原文链接 http://www.pedant.cn/2014/06/18/imagemagick-ported-android/ I ...
- 用Ant手动打包android程序,android分包机制解决65536方法过多异常
Android利用ant手动打包 首先我们要给自己的IDE eclispe配置ant,默认的eclipse是集成了ant构建工具的,但是google提供的Android集成开发工具ADT,里面封装了E ...
- windows下如何批量修改文件名
windows下如何批量修改文件名 一.总结 一句话总结:就是用excel生成了多条修改文件名的dos命令然后执行,比较核心的就是把图片名称导入excel 将图片名称导入excel---编写如下DOS ...
- Windows 下使用OpenSSL生成RSA公钥和私钥
Windows 下使用OpenSSL生成RSA公钥和私钥 (1)下载OpenSSL 可到该地址下载OpenSSL: https://www.openssl.org/source/(https://ww ...
- sencha touch 扩展篇之将sencha touch打包成安装程序(下)- 使用phonegap打包安装程序
这讲我们来讲解下如何使用phonegapa创建项目环境并通过她们将sencha touch打包成app,这里我们只讲解打包android的apk,打包ios的过程有点类似,但是需要在mac环境 ...
- Windows 下使用 mingw+msys 交叉编译 Android Unity Mono
对于没有升级到 Unity5.4的用户,发布安卓版本都会有对 C# 脚本进行加密的需求,我们项目在裸奔了很长时间后,决定开始做这件事. 网上查看了很多资料,我很希望直接在 windows 下编译而不去 ...
- windows下Qt5.1.0配置android环境搭建 good
1.首先下载好需要配置的软件: 1>Qt 5.1.0 for Android (Windows 32-bit, 716 MB)(Info)下载地址: http://qt-project.org/ ...
随机推荐
- 常用js,css文件统一加载方法,并在加载之后调用回调函数
原创内容,转载请注明出处! 为了方便资源管理和提升工作效率,常用的js和css文件的加载应该放在一个统一文件里面完成,也方便后续的资源维护.所以我用js写了以下方法,存放在“sourceControl ...
- svn用法:摘自http://wh-vip-126-com200907043220.iteye.com/blog/424642
下载最新版本svn(http://www.visualsvn.com/server/ ) 1.安装SVN 2.创建user与repository 3.Eclipse下配置SVN插件 3.1帮助- ...
- 自己封装的一个java图片验证码
验证码生成器: package com.lz.Tools; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; ...
- solr windows 启动和关闭命令
进入bin目录执行 启动:solr -e dih 停止:solr stop -all D:\Solr\solr-5.2.1\solr-5.2.1\bin>solr -e dih
- 二模 (15)day2
第一题:Alice和Bob两个人正在玩一个游戏,游戏有很多种任务,难度为p的任务(p是正整数),有1/2p 的概率完成并得到2p−1分,如果完成不了,得0分.一开始每人都是0分,从Alice开始轮流做 ...
- Spring Bean配置
Spring 是什么 •Spring 为简化企业级应用开发而生. 使用 Spring 可以使简单的 JavaBean 实现以前只有 EJB 才能实现的功能. •Spring 是一个 IOC(DI) 和 ...
- BCG界面库下的Windows8 UI界面样式www.webui8.com
BCG界面库下的Windows8 UI界面样式(Metro风格)控件主要有以下一些功能: 规则的大块磁贴 支持完整键盘导航 Tile组 标题(Caption) 标题按钮(Caption buttons ...
- Android 绿豆蛙版连连看(简陋版)
(里面有六张绿豆蛙的图片) 1.选中会有红色框 2.可以直线连(横竖相邻或是横竖间隔空格) 3.可以拐一次弯连接 4.可以拐两次弯连接 5.连接时会有线显示 6.绿色代表进度条,蓝色代表时间条 imp ...
- Android M新特性之Behavior Changes
1.Runtime Permissions On your apps that target the M Preview release or higher, make sure to check f ...
- HttpClientHandler
string url = "http://"; //创建HttpClient(注意传入HttpClientHandler) var handler = new HttpClient ...