zoukankan      html  css  js  c++  java
  • phonegap apk

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


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

    [plain] view plaincopy
     
    1. SET SOURCEAPK=".Test4.apk"  

    设置网页的路径

    [plain] view plaincopy
     
    1. SET SOURCEWWW=".www"  

    计算时间戳

    [plain] view plaincopy
     
    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%  

    创建临时文件夹

    [plain] view plaincopy
     
    1. MKDIR ".\%DATETIME%"  

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

    [plain] view plaincopy
     
    1. COPY "%SOURCEAPK%" ".\%DATETIME%source.apk"  

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

    [plain] view plaincopy
     
    1. "D:Program Files7-Zip7z.exe" x -o".\%DATETIME%source" ".\%DATETIME%source.apk"  

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

    [plain] view plaincopy
     
    1. RMDIR /S /Q ".\%DATETIME%sourceMETA-INF"  

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

    [plain] view plaincopy
     
    1. MKDIR ".\%DATETIME%sourceassetswww"  

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

    [plain] view plaincopy
     
    1. XCOPY /E "%SOURCEWWW%*" ".\%DATETIME%sourceassetswww"  

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

    [plain] view plaincopy
     
    1. "D:Program Files7-Zip7z.exe" a -tzip ".\%DATETIME%unsigned.apk" ".\%DATETIME%source*"  

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

    [plain] view plaincopy
     
    1. "D:Program FilesJavajdk1.7.0_21inkeytool.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 安装程序

    [plain] view plaincopy
     
    1. "D:Program FilesJavajdk1.7.0_21injarsigner.exe" -keystore ".\%DATETIME%keystore" -storepass "%DATETIME%" -keypass "%DATETIME%" -digestalg SHA1 -signedjar ".\%DATETIME%signed.apk" ".\%DATETIME%unsigned.apk" "%DATETIME%"  

    完整的程序代码如下

    [plain] view plaincopy
     
    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 Files7-Zip7z.exe" x -o".\%DATETIME%source" ".\%DATETIME%source.apk"  
    9. RMDIR /S /Q ".\%DATETIME%sourceMETA-INF"  
    10. MKDIR ".\%DATETIME%sourceassetswww"  
    11. XCOPY /E "%SOURCEWWW%*" ".\%DATETIME%sourceassetswww"  
    12. "D:Program Files7-Zip7z.exe" a -tzip ".\%DATETIME%unsigned.apk" ".\%DATETIME%source*"  
    13. "D:Program FilesJavajdk1.7.0_21inkeytool.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 FilesJavajdk1.7.0_21injarsigner.exe" -keystore ".\%DATETIME%keystore" -storepass "%DATETIME%" -keypass "%DATETIME%" -digestalg SHA1 -signedjar ".\%DATETIME%signed.apk" ".\%DATETIME%unsigned.apk" "%DATETIME%"  
  • 相关阅读:
    LINQ表达式预备讲课
    开发中必须安装的软件
    jquery判断单选按钮radio是否选中的方法
    JQuery判断radio(单选框)是否选中和获取选中值方法总结
    jquery $.each 和for怎么跳出循环终止本次循环
    ECharts 3.0 初学感想及学习中遇到的瓶颈
    js 日期时间大小比较
    Vue资料-简介-旋之华
    vue 引用 vue-resource步骤 (遇错排解)
    vue-resource和axios的简单使用方法总结
  • 原文地址:https://www.cnblogs.com/daishuguang/p/3483142.html
Copyright © 2011-2022 走看看