# 一文了解 Cordova

# Cordova 是什么?

Cordova 包装你的 HTML/JavaScript app 到原生 app 容器中,可以让你访问每个平台设备的功能。这些功能通过统一的 JavaScript API 提供,让你轻松的编写一组代码运行在几乎市面上的所有手机和平板上,并可以发布到相应的 app 商城中。

# 安装环境

# Linux 环境配置

docker --name cordova -it ubuntu
docker exec -it ubuntu bash

# 安装 Java

# Ubuntu
apt update
# openjdk 这是一个坑
apt install openjdk-8-jdk openjdk-8-jre -y
java
javac
# 查看jdk版本
java -verison
# 切换jdk版本
update-alternatives --config java
update-alternatives --config javac

# 安装 Android SDK

cd / && mkdir env && mkdir /env/android && cd /env/android
# 下载android-sdk-linux 和 cmdline-tools
apt install wget -y
wget https://dl.google.com/android/android-sdk_r24.3.4-linux.tgz
wget https://dl.google.com/android/repository/commandlinetools-linux-6858069_latest.zip
# 解压
apt install tar && tar xzvf android-sdk_r24.3.4-linux.tgz
apt install unzip && unzip commandlinetools-linux-6858069_latest.zip
# 配置环境变量
cd /etc
# 运行如下命令,增加设置
echo "export ANDROID_SDK_ROOT=/env/android/android-sdk-linux" >> profile
echo "export ANDROID_HOME=/env/android/android-sdk-linux" >> profile
# 自行判断JAVA_HOME目录
echo "export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64" >> profile
echo "export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar"  >> profile
echo "export PATH=$PATH:$ANDROID_HOME:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:/env/android/cmdline-tools/bin:$JAVA_HOME/bin" >> profile
echo 'alias sdkmanager="sdkmanager --sdk_root=$ANDROID_HOME"' >> profile
# 应用环境变量配置
cat profile
source /etc/profile
# 安装构建工具
sdkmanager --list
sdkmanager --list | grep build
sdkmanager "build-tools;23.0.3"
sdkmanager "build-tools;30.0.3"

# 安装 Gradle

apt install gradle  -y
gradle

# 安装 Node.js

apt install nodejs npm -y
npm install  -g cordova vue-cli

# Windows 环境配置

# 安装 Java

#安装oracle-JDK-8.exe
# 配置环境变量
JAVA_HOME C:\Program Files\Java\jdk1.8.0_191
Path %JAVA_HOME%\bin
Path %JAVA_HOME%\jre\bin

# 安装 Android Studio

ANDROID_HOME D:\Software\adt-bundle-windows\sdk
ANDROID_SDK_ROOT  D:\Software\adt-bundle-windows\sdk
Path %ANDROID_HOME%\platform-tools
Path %ANDROID_HOME%\build-tools
Path %ANDROID_HOME%\tools

# 安装 Gradle

   GRADLE_HOME D:\Software\gradle-6.7.1
   Path %GRADLE_HOME%\bin

# 安装 Node.js

前往官方网站 (opens new window)

# npm 安装 cordova
npm i -g cordova

# 新建项目

# 创建一个 Cordova 工程

cd /home/
# cordova 项目
cordova create app

# 创建一个 vue 项目

# vue create web
vue init webpack web

# 编译 Vue 项目

cd /home/web
npm run build

# 之后把 vue 项目 dist 文件夹中的所有文件复制到 cordova 项目的 www

cd ..
cp web/dist/* app/www/

# 最后完成打包

cd app
# 增加某平台 ios android browser
cordova platform add android
# 删除某平台
cordova platform rm android
# 检查平台
cordova platform ls
# 检查依赖
cordova requirements
# 修改jdk检查为11.*
# cd platforms/android/cordova/lib/
# vim check_reqs.js
# 1.8.* ==> 11.*
# 编译到平台
cordova build # 编译到已选择的所有平台
cordova build ios android
# 运行到模拟器上或真机上
cordova emulate android
cordova run android
cordova run browser

# 添加插件

# 搜索插件
cordova plugin search camera
# 安装插件
cordova plugin add cordova-plugin-camera
# 列出已安装插件
cordova plugin ls

# 更新版本

npm update -g cordova
cordova platform update android --save
cordova platform update ios --save