windows配置Cordova环境
一.安装JDK
a.下载JDK,http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
b.配置环境变量,计算机-属性-高级系统设置-环境变量
c.系统变量-新建 “JAVA_HOME”变量,值 JDK安装目录
d.系统变量-寻找“Path”变量-编辑,末尾输入
“%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;”
注意原来Path末尾没有;号,要先输入;号。
e.系统变量-新建“CLASSPATH”变量,值
“ .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar”
注意前面有一个点。
f.检测是否配置成功,运行cmd输入“java -version”,如图显示即成功。
安装Android SDK
android-sdk下载安装:验证adb
(1)新建->变量名"Android_HOME",变量值填写sdk的安装目录
(2)编辑->变量名"Path",变量值填写sdk中tools和platform-tools的安装目录
打开SDK Manager.exe选择API版本和Android版本。连接手机cmd输入adb devices(显示devices说明连接成功)
二.安装nodejs
a.下载nodejs,http://nodejs.cn/download/
三. 安装phonegap和cordova
a.安装完nodejs后需要关闭cmd窗口
b.npm install -g phonegap
c.npm install -g cordova
d.检测是否安装成功,输入“phonegap -version”/“cordova -version”。
四. 配置Android环境
推荐使用Android Studio,SDK之类的不需要单独配置了
五. 配置gradle
a.下载https://services.gradle.org/distributions/gradle-4.0.2-all.zip
b.解压后,配置到环境变量,计算机-属性-高级系统设置-环境变量。
c.系统变量-新建“GRADLE_HOME”变量,值解压目录
d.系统变量-寻找“Path”变量-编辑,末尾输入
“%GRADLE_HOME%\bin”
e.检测是否配置成功,运行CMD输入“gradle -version”,显示版本号
六. 创建新项目
a.运行CMD,输入cordova create hello com.mydomain.hello HelloWorld
第一个参数是文件目录
第二个参数是app id,
第三个参数是App名称
b.输入cd hello,进入cordova项目
七. 添加android平台
cordova platform add android[@版本号]
八. 开发
编辑或替换cordova项目www目录下的H5文件
cordova prepare/cordova compile/cordovabuild
2.使用android Studio运行:www目录文件替换后,终端输入:cordova prepare => android studio点击瓢虫图标运行
九. 添加插件
查看所有已安装的插件
cordova plugin ls
更新插件
cordova plugin update
a.Console(调试控制台)
让程序可以在控制台中打印输出日志
cordova plugin add cordova-plugin-console
b.Connection(网络连接)
用来判断网络连接类型(2G、3G、4G、Wifi、无连接等)
cordova plugin add cordova-plugin-network-information
c.Device(设备)
获取一些设备信息
cordova plugin add cordova-plugin-device
d.Hardware Notifications(硬件消息提醒)
让设备蜂鸣或振动
cordova plugin add cordova-plugin-vibration
e.Visual Notification(可视化消息提醒)
不同于js的alert()、confirm()和prompt()方法是同步的。Cordova的alert()、confirm()和prompt()方法是异步的,并且对显示内容有更大的控制权限。
cordova plugin add cordova-plugin-dialogs
f.Battery(电池)
可以获取电池状态信息
Cordova plugin add cordova-plugin-battery-status
g.Accelerometer(加速计)
让应用在三维空间(使用笛卡尔三维坐标系统)中决定设备方向。
cordova plugin add cordova-plugin-device-motion
h.Compass(指南针)
可以让开发者读取移动设备的朝向
cordova plugin add cordova-plugin-device-orientation
i.Geolocation(地理定位)
让应用判断设备的物理位置。
cordova plugin add cordova-plugin-geolocation
j.Camera(相机)
用相机获取图像
cordova plugin add cordova-plugin-camera
k.Media Capture(媒体捕获)
与Camera API相比,不仅能获取图像,还可以录视频或录音。
cordova plugin add cordova-plugin-media-capture
l.Globalization(全球化)
允许应用查询操作系统的当前设置,判断用户使用的语音
cordova plugin add cordova-plugin-globalization
m.Contacts(联系人)
读取联系人列表并在应用中使用联系人数据,或使用应用数据向联系人列表中写新的联系人。
cordova plugin add cordova-plugin-contacts
n.Media(播放/记录媒体文件)
让应用能记录或播放媒体文件。用它可以在手机后台播放音频文件或玩桌面视频游戏。
cordova plugin add cordova-plugin-media
o.InAppBrowser(内置浏览器)
允许存在单独的窗口中加载网页。例如要向应用用户展示其他网页。当然可以很容易地在应用中加载网页内容并管理,但有时候需要不同的用户体验,InAppBrowser加载网页内容,应用用户可以更方便的直接返回到主应用。
cordova plugin add cordova-plugin-inappbrowser
p.Splashscreen(闪屏)
用来在Cordova应用启动时显示自定义的闪屏。
cordova plugin add cordova-plugin-splashscreen
q.exitApp(退出应用)
让Android或者Windows Phone 8上的APP关闭退出(IOS系统不支持)
cordova plugin add cordova-plugin-exitapp
r.barcodeScanner(条形码/二维码扫描)
不仅可以通过摄像头识别二维码/条形码,还能生成二维码
cordova plugin add cordova-plugin-barcodescanner
s.file(文件访问操作类)
提供对设备上的文件进行读取和写入的功能支持。
cordova plugin add cordova-plugin-file
t.fileTransfer(文件传输)
实现文件上传、下载及共享等功能
cordova plugin add cordova-plugin-file-transfer
十. 打包
cordova platform add android 默认使用android
cordova build android #android-debug.apk开发环境,能安装在手机
cordova build android –release #android-release-unsigned.apk无法安装在手机上,必须进行签名。
a. 第一次打包要开启
b. 如果报“Could not reserve enough space for 2097152KB object heap”错误,如下图,在环境变量中配置,系统变量-新建“_JAVA_OPTIONS”,值“-Xmx512M”
c. 如果打包出现以下输出,需要Remove掉android平台再重新添加
十一、直接运行
a. 手机通过USB连接电脑
b. 手机设置-开发者选项-USB调试开启
c. 通过adbdriver安装相应手机驱动
d. 直接运行cordova run android
十三、APK签名
a、生成签名文件(keystore)
这个文件只需要生成一次,以后每次sign都用它。
keytool -genkey -v -keystoredemo.keystore–aliasdemo.keystore -keyalg RSA -validity 20000
keytool 是工具名称;
-genkey表示执行的是生成数字证书操作;
-v 表示将生成证书的详细信息打印出来;
-keystoredemo.keystore表示证书的文件名;
-alias demo.keystore表示证书的别名;
-keyalg RSA 表示生成密钥文件所采用的算法;
-validity 20000表示数字证书的有效期,单位是天;
输入后会让你输入密码,并回答一些关于你公司和地区的问题,回答完后截屏记录,防止忘记,密码默认:changeit。
b、对APK签名
jarsigner -verbose -keystore/yourpath/demo.keystore –signedjar /yourpath/demo_signed.apk /yourpath/demo.apk /yourpath/demo.apk
jarsigner 是工具名称;
-verbose 表示将签名过程中的详细信息打印出来;
/yourpath/相对于当前命令行所在文件夹的位置,可将下列文件放在同一目录下;
-keystore/yourpath/demo.keystore表示刚刚生成的签名文件;
-signedjar/yourpath/demo_signed.apk 表示签名后的apk名称;
-/yourpath/demo.apk表示需要签名的apk;
-/yourpath/demo.keystore表示证书的别名。
c、查看apk签名
查看签名是否成功,可将签名后的文件后缀名apk改为zip解压。
在该目录下,输入如下命令:
keytool-printcert-file META-INF/CERT.RSA
META-INF/CERT.RSA 根据自己情况配置
输入命令后,会出现类似下图信息
c、压缩和优化APK
最后我们要用zipalign压缩和优化APK:
zipalign-v 4 android-apk/android-release-unsigned.apk android-apk/cordova-demo.apk
这一步会生成最终的APK,我们把它命名为cordova-demo.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小窗口,提示你输入密码。
十五、全局首选项(Global Preference)
a. Fullscreen设置程序是否全屏
全屏时状态栏将不可见,默认false。
<preference name =”Fullscree” value=”true” />
b. Orientation设置可以让你锁定应用程度屏幕方向以阻止自动翻转。
可选的值有:default、landscape、portrait
<preference name=”Orientation” value=”landscape” />
注意:default表示landscape和portrait均可用。如果你想针对不同的平台进行不同的设置,请将此配置节从根目录下的config.xml中移除。
十六、百度SDK定位
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。