npm install -g cordova
cordova -v
cordova create myApp1 org.apache.cordova.myApp myApp2
cd myApp1
来新建cordova项目,初始化cordova开发环境。
其中:
myApp1:cordova目录名
org.apache.cordova.myApp: 包名
myApp2: 项目名(在config.xml中查看)
生成的cordova文件中
config.xml -包含应用相关信息,使用到的插件以及面向的平台
platforms – 包含应用运行平台如 Android 和 iOS 上对应的 Cordova 库
plugins – 包含应用所需插件的 Cordova 库,使得应用能够访问例如照相机和电池状态相关的事项。
www – 包含应用源代码,例如 HTML, JavaScript 和 CSS 文件
hooks – 包含为个性化应用编译系统所需的脚本
cordova platform add android
来生成Android平台的cordova库,这时platforms文件夹中会生成一个android文件夹。
到这里,cordova项目就已经建好了。
首先全局安装Vue-cli脚手架。
npm install -g vue
npm install -g vue-cli
vue init webpack MyApp
修改Vue项目config/index.js文件.
npm run build
即可编译vue项目自动到cordova主目录下的www文件夹中。
调试打包软件之前,首先检查androidsdk是否正确安装,执行命令
cordova requirements
在cordova主目录下使用命令
cordova run android
来联调android软件(需连接真机或者模拟器)。
执行命令
cordova build android
来打包成apk软件(…/cordovaApp/platforms/android/app/build/outputs/apk/debug/app-debug.apk
APK签名
APK都必须经过数字签名后才能安装到设备上,签名需要对应的证书(keystore),大部分情况下 APK 都采用的自签名证书,就是自己生成证书然后给应用签名。
数字签名证书是给APK打包所必需的文件,所以我们先要把数字签名证书生成。
在命令提示符下输入
keytool -genkey -v -keystore /mykey/mytest.keystore -alias mytest -keyalg RSA -validity 20000
...keystore /mykey/mytest.keystore表示生成的证书及其存放路径,如果直接写文件名则默认生成在用户当前目录下;
-alias mytest 表示证书的别名是mytest,不写这一项的话证书名字默认是mykey;
-keyalg RSA 表示采用的RSA算法;
-validity 20000表示证书的有效期是20000天。*
(1)先生成未签名的debug版本的apk
首先执行命令
cordova build android --release
就会生成一个app-release-unsigned.apk。把数字签名放到生成的未签名的apk所在的目录下,输入以下命令:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore mytest.keystore app-release-unsigned.apk mytest
这时的apk就会是一个已经签名的apk了,修改一下名字即可直接放到设备上安装。
(2)直接生成带签名的apk
有了数字签名之后,数字签名需要放在cordova项目根目录下或者可以修改下面指令的keystore里的路径可以直接在cordova build中指定所有参数来快速打包,这会直接生成一个android-release.apk(已经是带签名的了)
cordova build android --release --keystore=
"mytest.keystore"
--alias=mytest --storePassword=testing --password=testing1
keystore 后面是数字签名证书, –alias 后面是别名 storePassword 后面是密钥库口令 password 后面是密钥口令
但每次打包输入命令行参数是很重复的,Cordova 允许我们建立一个 build.json 配置文件来简化操作。在cordova根目录新建文本文档,改名为build.json。
{
”android”: {
”release”: {
”keystore”: “mytest.keystore”,
”alias”: “mytest”,
”storePassword”: “testing”,
”password”: “testing2”
}
}
}
但下面的两个密码建议不要写到里面去,可以去掉然后手动输入。
直接使用
cordova build –release
就可以生成带签名的apk了