在 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. UTR#2 T1

    题意:给定一个n,以下n个数(假定为fi),要求构造一个n个数的序列,使得这个序列每一个位置的最大上升子序列的长度等于对应的fi. 其实这道题是个很简单的题,之前7月也在BC上做到过,为什么要写呢,因 ...

  2. [转载]Android利用convertView优化ListView性能

    本的getView写法 Java代码public View getView(int position, View convertView, ViewGroup parent) {View view = ...

  3. Android 图片选择器

    图片选择器,遍历系统所有图片并显示,点击查看大图,长按选中,并将结果返回 字体颜色res/color建立text_selecor.xml <selector xmlns:android=&quo ...

  4. 基于redis 内存数据库简单使用

    在ecplise中使用内存数据的客端户,前提要准备要下载两个jar包 commons-pool2-2.0.jar jedis-2.4.2.jar 前提准备做好了,那我们就开启redis的服务,打开一个 ...

  5. entity 实体模型timeout设置

    public Entities(): base("name=Entities") { var adapter = (IObjectContextAdapter)this; var ...

  6. Oracle数据表恢复

    用于直接drop掉表的情况(plsql developer直接删掉表就是drop操作) 查删除的表select object_name,original_name,partition_name,typ ...

  7. eclipse打包jar时包含第三方jar包的相关问题

    我用的是mars4.5版本的eclipse 需求:要把写好的工程打成jar包,并能直接运行.工程用了若干个第三方jar. 在打包的时候,eclipse提供的打包方法不能引用第三方jar包,导致了出现C ...

  8. dotnet与各种数据库类型对应关系

    Data Provider Parameter format sqlclient @parametername oledb ?    mark odbc ?   mark oracleclient : ...

  9. SVN global ignore pattern for c#

    *.resharperoptions Web_Data log */[Bb]in [Bb]in */obj obj  */TestResults TestResults *.svclog Debug ...

  10. 程序里面的system.out.println()输出到其他位置,不输出到tomcat控制台。

    设置startup.bat: call "%EXECUTABLE%" run %CMD_LINE_ARGS% >> ..\logs\kongzitai.txt 将sys ...