# 一文了解 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
# 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