Cordova开发平台配置--Android
来源:互联网 发布:淘宝收货地址写什么 编辑:程序博客网 时间:2024/05/29 09:15
虽然Cordova是一个跨平台的移动开发框架,但是要打包成不同平台下的App,需要有相应的SDK和环境配置才行。这里以windows系统环境打包到Android平台为例对所需SDK环境和命令行工具进行详细说明(cordova版本是6.x)。
一、所需配置和支持
Cordova需要安装Android SDK,Cordova最新版本已经可以支持Android API-Level 23。Cordova和Android SDK API的支持关系如表1所示:cordova-android Version Supported Android API-Levels
想要查看项目使用的Android SDK的版本,在项目的根目录下运行下面的命令:cordova platform ls。
二、安装所需配
安装JDK
安装JDK 1.7或者更高版本。安装完成后新建JAVA_HOME系统环境变量,填入JDK的安装路径,我的是C:\Program Files (x86)\Java\jdk1.8.0_51。JDK下载地址。安装Android SDK
安装Android SDK,下载地址:Android SDK。也可以安装Android Studio,它自动集成了Android SDK里面,如果想开发Android平台下的Cordova插件,或者使用AS的调试工具的话,安装AS是个不错的选择。添加SDK开发包
安装完SDK后,必须添加你想要的API Level的包,这里推荐的是你的项目中cordova版本能够支持的最高版本。打开SDK安装Android sdk tools,Anroid platform tools、Android build tool,以及版本包,然后在Extras里面把support library也安装上。设置环境变量
Cordova CLI工具需要设置环境变量才能正常工作:- 设置 JAVA_HOME 环境变量。(安装JDK时已经设置好了)
- 设置 ANDROID_HOME 环境变量,目录是SDK的安装目录,我的是:C:\Program Files (x86)\Android\android-sdk。
- 将 SDK的 tools 和 platform-tools 目录加入到path环境变量中。
三、配置工程
设置模拟器
如果想要在Android模拟器上运行APP,需要创建一个AVD(Android Vitual Device)。创建AVD是Android开发经常涉及的,如果你安装了Eclipse或者AS,可以参考这个:Eclipse创建AVD,Android Studio创建AVD。如果只安装了Android SDK,那么在安装目录下有AVD Manager.exe,打开后也可以创建AVD。当AVD配置好了后,就可以在项目根目录下使用下面的命令查看创建的AVD设备:
$ cordova run --list
配置Gradle
cordova4.0.0以后,Android工程通过Gradle生成。(以前的版本是使用的Ant生成工具)
设置Gradle属性
可以通过设置Cordova提供的特定值来配置Gradle生成工具。可以设置的属性如下表所示:
cdvBuildMultipleApks
如果设置,会生成多个APK文件:每个硬件平台一个APK文件(x86,ARM等等)。如果项目中使用了会显著增加APK文件的大小的很大的本地库,就应该设置这个属性。如果未设置,那么只会生成一个APK文件。cdvVersionCode
会覆盖 AndroidManifest.xml
中的versionCdoe。cdvReleaseSigningPropertiesFile
默认值: release-signing.properties
生成发布版本时,指向包含签名信息的属性文件的路径。
cdvDebugSigningPropertiesFile
默认值: debug-signing.properties
生成调试版本时,指向签名信息的属性文件路径,当需要分享密钥的使用。
cdvMinSdkVersion
会覆盖 AndroidManifest.xml
中的 minSdkVersion
值。当创建多个基于SDK版本的APK文件时会很有用。cdvBuildToolsVersion
覆盖自动检测到的 android.buildToolsVersion
值。cdvCompileSdkVersion
覆盖自动检测到的 android.compileSdkVersion
值。可以通过下面几种方式来配置这些属性(以MinSkdVersion为例):
在build或者run命令中使用--gradleArg参数设置
$ cordova run android --gradleArg=-PcdvMinSdkVersion=20
在项目platform/Android目录下新建一个叫
gradle.properties
,并设置如下属性:# In <your-project>/platforms/android/gradle.properties cdvMinSdkVersion=20
通过
build-extras.gradle
文件来扩展build.gradle
,设置如下属性:// In <your-project>/platforms/android/build-extras.gradle ext.cdvMinSdkVersion = 20
最后的两种方式都需要添加额外的文件,而这些修改经常会丢失和重写。因此,这两个文件应该作为使用before_build参数的build命令生成的从别的地方直接拷贝过来(使用hook方式)。
扩展build.gradle文件
如果想要自定义 build.gradle
, 而不是直接编辑它, 那么需要创建一个叫 build-extras.gradle
的文件。这个文件会在呈现时被 build.gradle
包含进来。这个文件必须包含在platforms/Android目录下,所以推荐使用before_build参数的hook的方式,通过脚本将其拷贝过去。
build-extras.gradle示例:
// Example build-extras.gradle// This file is included at the beginning of `build.gradle`ext.cdvDebugSigningPropertiesFile = '../../android-debug-keys.properties'// When set, this function allows code to run at the end of `build.gradle`ext.postBuildExtras = { android.buildTypes.debug.applicationIdSuffix = '.debug'}
插件可以通过下面的方式包含 build-extras.gradle
文件:
<framework src="some.gradle" custom="true" type="gradleReference" />
设置Version Code
要更改App的版本号,需要在config.xml文件的widget标签中设置 android-versionCode
属性。如果android-versionCode
没有设置,那么会通过version属性设置版本号,格式为: MAJOR.MINOR.PATCH
:
versionCode = MAJOR * 10000 + MINOR * 100 + PATCH
四、给APP签名
--keystore
存放keystore的路径Keystore 密码--storePassword
keystore的密码别名--alias
私钥idPassword--password
私钥密码 Keystore类型--keystoreType
通过文件后缀确定,为p12或者jks例如:cordova build android --release -- --keystore=../my-release-key.keystore --storePassword=password --alias=alias_name --password=password
.
关于如何生成keystore可以参考:利用JDK的KeyTool工具生成keystore。
2、通过build.json
也可以通过在build.json配置以上内容,然后使用--buildConfig参数指定配置文件。
{ "android": { "debug": { "keystore": "../android.keystore", "storePassword": "android", "alias": "mykey1", "password" : "password", "keystoreType": "" }, "release": { "keystore": "../android.keystore", "storePassword": "", "alias": "mykey2", "password" : "password", "keystoreType": "" } }}
发布版本的签名,密码可以排除,生成工具会弹出提示要求输入密码。
3、通过Gradle
也可以包含一个.properties文件,然后设置cdvReleaseSigningPropertiesFile
和 cdvDebugSigningPropertiesFile
属性指向该文件,例如:
storeFile=relative/path/to/keystore.p12storePassword=SECRET1storeType=pkcs12keyAlias=DebugSigningKeykeyPassword=SECRET2
storePassword
和 keyPassword
是可选的,如果没有填,生成工具会弹出提示要求输入密码。
- Cordova开发平台配置--Android
- cordova开发介绍(android平台)
- cordova开发介绍(android平台)
- cordova开发介绍(android平台)
- cordova 5.3.3 android平台开发忽略的安全设置
- Android 开发平台配置
- Android配置开发平台
- Cordova配置与开发
- cordova开发环境配置
- Cordova跨平台开发入门
- cordova/phonegap 多平台开发
- 配置cordova-android
- cordova android 环境配置
- Cordova 10 VS2013配置cordova开发环境
- Cordova-Android 插件开发
- Android Cordova 插件开发之Cordova安装
- Android Cordova 插件开发之Cordova安装
- Android Cordova 插件开发之Cordova安装
- Windows D3D Intro - On Device Lost
- 2016.03.30 Supervised learning
- FZU-2148-Moon Game,,几何计算~~
- 【代码笔记】iOS-获取系统完成任务所需的后台时间
- Linux系统查看和转化文件编码
- Cordova开发平台配置--Android
- ASP web.config 配置遇到的问题
- 公司(视频 社交)项目分享
- Android视频的全屏切换
- 《iOS Human Interface Guidelines》——Segmented Control
- 1.6算法入门之牛顿迭代式求方程根
- Java中要注意的几个问题
- Kafka源码分析(5)
- MySQL优化大全