在 Windows 中自动生成 Cordova/Phonegap for Android 的 APK 安装程序
本贴首发于:http://xuekaiyuan.com/forum.php?mod=viewthread&tid=13


代码说明
设置已编译的不包含网页的 APK 安装程序的路径

  1. SET SOURCEAPK=".\Test4.apk"

设置网页的路径

  1. SET SOURCEWWW=".\www"

计算时间戳

  1. SET DATETIME=%TIME:~0,1%
  2. IF "%DATETIME%"==" " THEN SET DATETIME=0
  3. SET DATETIME=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%%DATETIME%%TIME:~1,1%%TIME:~3,2%%TIME:~6,2%

创建临时文件夹

  1. MKDIR ".\%DATETIME%"

复制已编译的不包含网页的 APK 安装程序到临时文件夹

  1. COPY "%SOURCEAPK%" ".\%DATETIME%\source.apk"

解压缩已编译的不包含网页的 APK 安装程序到临时文件夹

  1. "D:\Program Files\7-Zip\7z.exe" x -o".\%DATETIME%\source" ".\%DATETIME%\source.apk"

删除临时文件中的签名信息

  1. RMDIR /S /Q ".\%DATETIME%\source\META-INF"

在临时文件夹中创建网页的路径

  1. MKDIR ".\%DATETIME%\source\assets\www"

复制网页到临刊文件夹中网页的路径

  1. XCOPY /E "%SOURCEWWW%\*" ".\%DATETIME%\source\assets\www"

压缩临时文件夹为未签名的 APK 安装程序

  1. "D:\Program Files\7-Zip\7z.exe" a -tzip ".\%DATETIME%\unsigned.apk" ".\%DATETIME%\source\*"

在临时文件夹中生成一个签名用的密钥文件

  1. "D:\Program Files\Java\jdk1.7.0_21\bin\keytool.exe" -genkeypair -keystore ".\%DATETIME%\keystore" -storepass "%DATETIME%" -dname "CN=%DATETIME%, OU=daonao.com, O=daonao.com, L=Beijing, L=Beijing, C=CN" -alias "%DATETIME%" -keypass "%DATETIME%"

使用密钥文件对未签名的 APK 安装程序签名生成已签名的 APK 安装程序

  1. "D:\Program Files\Java\jdk1.7.0_21\bin\jarsigner.exe" -keystore ".\%DATETIME%\keystore" -storepass "%DATETIME%" -keypass "%DATETIME%" -digestalg SHA1 -signedjar ".\%DATETIME%\signed.apk" ".\%DATETIME%\unsigned.apk" "%DATETIME%"

完整的程序代码如下

  1. SET SOURCEAPK=".\Test4.apk"
  2. SET SOURCEWWW=".\www"
  3. SET DATETIME=%TIME:~0,1%
  4. IF "%DATETIME%"==" " THEN SET DATETIME=0
  5. SET DATETIME=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%%DATETIME%%TIME:~1,1%%TIME:~3,2%%TIME:~6,2%
  6. MKDIR ".\%DATETIME%"
  7. COPY "%SOURCEAPK%" ".\%DATETIME%\source.apk"
  8. "D:\Program Files\7-Zip\7z.exe" x -o".\%DATETIME%\source" ".\%DATETIME%\source.apk"
  9. RMDIR /S /Q ".\%DATETIME%\source\META-INF"
  10. MKDIR ".\%DATETIME%\source\assets\www"
  11. XCOPY /E "%SOURCEWWW%\*" ".\%DATETIME%\source\assets\www"
  12. "D:\Program Files\7-Zip\7z.exe" a -tzip ".\%DATETIME%\unsigned.apk" ".\%DATETIME%\source\*"
  13. "D:\Program Files\Java\jdk1.7.0_21\bin\keytool.exe" -genkeypair -keystore ".\%DATETIME%\keystore" -storepass "%DATETIME%" -dname "CN=%DATETIME%, OU=daonao.com, O=daonao.com, L=Beijing, L=Beijing, C=CN" -alias "%DATETIME%" -keypass "%DATETIME%"
  14. "D:\Program Files\Java\jdk1.7.0_21\bin\jarsigner.exe" -keystore ".\%DATETIME%\keystore" -storepass "%DATETIME%" -keypass "%DATETIME%" -digestalg SHA1 -signedjar ".\%DATETIME%\signed.apk" ".\%DATETIME%\unsigned.apk" "%DATETIME%"

phonegap apk的更多相关文章

  1. 安卓升级提示 phoneGap APK软件更新提示

    以下代码由PHP200 阿杜整理 package com.example.syzx;   import java.io.BufferedReader; import java.io.File; imp ...

  2. 创建你的第一个ionic+cordova应用(1)

    前面我们安装了前端的神器webstorm11,体验到了强大的开发体验,接着我们来安装ionic 必备: Node.js (npm安装工具) 百度下载 官网下载  注:如果官网新版不能安装请用百度下载0 ...

  3. Android中实现Activity的启动拦截之----实现360卫士的安装应用界面

    第一.摘要 今天不是周末,但是我已经放假了,所以就开始我们的技术探索之旅,今天我们来讲一下Android中最期待的技术,就是拦截Activity的启动,其实我在去年的时候,就像实现这个技术了,但是因为 ...

  4. 使用ionic与cordova(phonegap)进行轻量级app开发前的环境配置与打包安卓apk过程记录

     前言 有人说:"如果你恨一个人,就让ta去接触cordova(phonegap)",这是因为这里面的水很深,坑很多,真让人不是一般地发狂.或许有幸运的人儿基本顺顺利利就配置完环境 ...

  5. 在 Linux 中自动生成 Cordova/Phonegap for Android 的 APK 安装程序

    在 Linux 中自动生成 Cordova/Phonegap for Android 的 APK 安装程序 本贴首发于: http://xuekaiyuan.com/forum.php?mod=vie ...

  6. 开发node桌面级应用工具:apk转化epub

    随着苹果ibooks对国内的开放,最近接了个麻烦的需求: 把现有的APK转化支持苹果ibooks电子书的epub格式 apk,基本都知道就是安卓的应用程序 epub,是ibooks支持的电子书格式 ( ...

  7. 将HTML5封装成android应用APK文件的几种方法

    越来越多的开发者热衷于使用html5+JavaScript开发移动Web App.不过,HTML5 Web APP的出现能否在未来取代移动应用,就目前来说,还是个未知数.一方面,用户在使用习惯上,不喜 ...

  8. Cordova+Asp.net Mvc+GIS跨平台移动应用开发实战1-系统初步搭建(附演示,apk,全部源码)

    1.前言 身处在移动互联网的今天,移动应用开发炙手可热,身为程序猿的我们怎么能错过开发一款我们自己的APP.本人算是一个基于.net的GIS开发入门者(马上就大四啦), 暑假在学校参加GIS比赛有大把 ...

  9. 将HTML5封装成android应用APK文件的几种方法(转载)

    越来越多的开发者热衷于使用html5+JavaScript开发移动Web App.不过,HTML5 Web APP的出现能否在未来取代移动应用,就目前来说,还是个未知数.一方面,用户在使用习惯上,不喜 ...

随机推荐

  1. [Unity3d][NGUI]两种思路解决AssetBundle的依赖关系.

    接上文. 使用上文中的AssetBundle打包方式生成的文件包括了依赖关系中的文件. 一般的使用中并不会发现什么问题. 可是当配合NGUI的时候,使用dynamicFont时打包AssetBundl ...

  2. rpc远程过程协议调用

    在linux 5.X以及下的版本你可以通过service portmap status命令查看rpc是否启动.如果提示running,表示正在运行:如果提示stop就是关闭了.如果没有安装,则通过安装 ...

  3. php 二维数组以树形输出(转)

    <?php /** * @author Skyline * @copyright 2011 */ $cate = array(1=>array('id'=>1,'pid'=>0 ...

  4. cocos2d-x项目过程记录(跨平台iOS和Android)

    (原创作品,欢迎转载,注明出处,谢谢:http://www.cnblogs.com/binxindoudou/admin/EditPosts.aspx?postid=3205249) 1.配置环境,重 ...

  5. js select 实现左右传值.html

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. json 序列化和反序列化

    Json串的格式: string strDataDiyList={"id":"1","name":"zhangsan", ...

  7. OD: Vulnerabilities Analyze Skills

    第五篇了,漏洞分析案例 漏洞利用的灵活程度让这门技术变得似乎没有什么原则可言,只有实践后总结提高才能挥洒自如. 漏洞分析方法 目标:弄清攻击原理.评估潜在利用方式及风险等级.扎实的漏洞利用技术是进行漏 ...

  8. 解析JavaScript中apply和call以及bind

    函数调用方法 在谈论JavaScript中apply.call和bind这三兄弟之前,我想先说下,函数的调用方式有哪些: 作为函数 作为方法 作为构造函数 通过它们的call()和apply()方法间 ...

  9. 触发TreeView的TreeNodeCheckChanged事件

    这个事件不会主动postback,需要手动写javascript触发.对网上找到的方法做了些改进,增加UpdatePanel,以免页面不停的刷.这里就不考虑性能神马的了,因为既然项目已经允许选择使用T ...

  10. ASPNET5 管理应用程序的状态

    1. 应用程序状态选项 在ASP.NET5当中,全局的Application对象没有了,转而被In Memory Caching所代替,ASPNET5当中有下多种管理状态的方式: HttpContex ...