cordova打包安卓webapp


什么是cordova

cordova是一个开源的程序开发框架,前身是PhoneGap,后来捐给了Apache,两个名字都有在用,cordova是的主要功能是实现应用程序多平台开发,它的主程序是一个网页应用,然后适配到各个平台上

安装android studio

想要打包安卓app,本地必须要有安卓环境啊,我选择直接装android studio,这样android sdk等一系列环境配置就都安装好了,个人觉得安卓环境好烦呀,之前还需要配置java,不过楼主干了好久的java开发,楼主电脑还是有java环境的,不过需要注意,Java版本需要安装jdk 8 否则在打包的过程中,会报java的异常,我记得好像报的是什么java version之类的异常,很明显Java版本不够,换成1.8的果断解决问题

安装cordova,打包debug版本

首先全局安装:
npm install -g cordova
接着在 cordova-demo 目录创建一个项目,ID 为 com.example.cordovaDemo ,项目名为 cordovaDemo 
cordova create cordova-demo com.example.cordovaDemo cordovaDemo
接着添加安卓平台环境:
cordova platform add android --save

你可以检查下平台需求是否满足。基本上 Cordova 需要你把 Java SDK, Android SDK 和 Gradle 都配置好。
cordova requirements android
现在一个 Cordova 项目就已经准备好了。你可以尝试构建一个版本。一切顺利的话,你会在 platforms/android/build/outputs/apk 目录下看到 APK 文件
# 构建 apk
cordova build android
搞定!但这个构建的 APK 是 debug 版本的。要构建 release 版本,我们需要先了解一下 Android 手动打包的流程

cordova build卡住了

报错:java.net.unknownhostexception
解决办法:
去http://services.gradle.org/distributions/gradle-2.2.1-all.zip, 然后把gradle-2.2.1-all.zip放到C:\Users\Administrator\.gradle\wrapper\dists\gradle-2.2.1-all\2m8005s69iu8v0oiejfej094b , 解不解压都可以,还需要下载一个gradle-2.13-all.zip,下好了丢在.gradle\wrapper\dists\gradle-2.13-all\7hsc6vr6mi3i6i5m7q9hj4ci1q
这里,就可以了

 Android 手动打包的流程

build 未签名发布版:
cordova build android --release
签名,先生成数字签名文件:
keytool -genkey -v -keystore release-key.keystore -alias cordova-demo -keyalg RSA -keysize 2048 -validity 10000
上面的命令意思是,生成一个 release-key.keystore 的文件,别名(alias)为 cordova-demo 。
过程中会要求设置 keystore 的密码和 key 的密码。我们分别设置为 testing 和 testing2。这四个属性要记牢,下一步有用。


然后我们就可以用下面的命令对 APK 签名了:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore release-key.keystore android-apk/android-release-unsigned.apk cordova-demo
这个命令中需要传入证书名 release-key.keystore,要签名的 APK android-release-unsigned.apk,和别名 cordova-demo。签名过程中需要先后输入 keystore 和 key 的密码。命令运行完后,这个 APK 就已经改变了。注意这个过程没有生成新文件。

自动打包

一旦有了 keystore 文件,下次打包就可以很快了。你可以在 cordova build 中指定所有参数来快速打包。这会直接生成一个 android-release.apk 给你。
cordova build android --release -- --keystore="release-key.keystore" --alias=cordova-demo --storePassword=testing --password=testing2
但每次输入命令行参数是很重复的,Cordova 允许我们建立一个 build.json 配置文件来简化操作。文件内容如下:
{
  "android": {
    "release": {
      "keystore": "release-key.keystore",
      "alias": "cordova-demo",
      "storePassword": "testing",
      "password": "testing2"
    }
  }
}


下次就可以直接用 cordova build --release 了。


为了安全性考虑,建议不要把密码放在在配置文件或者命令行中,而是手动输入。你可以把密码相关的配置去掉,下次 build 过程中会弹出一个 Java 小窗口,提示你输入密码。





你可能感兴趣的:(js)