# ( Windows ) Cordova + Vue Cli 環境建置與安裝指南 ( 20210429 更新) ###### tags: `Cordova` [Cordova官網](https://cordova.apache.org/) ## 此次建置規格 ### 環境 * Node.js * JDK => version 1.8.x * Android SDK => Platform 28 * Gradle => version 7.0-all ### Cordova 安裝平台 * iOS * Android ### Cordova 使用套件 * 低功率藍芽連線 => cordova-plugin-bluetoothle * FB Login => cordova-plugin-facebook4 * 允許白名單 ( 預設安裝 ) => cordova-plugin-whitelist --- ## 安裝 JDK ( 1.8.x ) ### 下載 [Java SE Development Kit 8 Downloads](https://www.oracle.com/tw/java/technologies/javase/javase-jdk8-downloads.html) ### 環境配置 ![](https://i.imgur.com/lQPKcna.png) --- ## 安裝 Android SDK ### 下載 1. 下載 [Android Studio](https://developer.android.com/studio?gclid=Cj0KCQjwsqmEBhDiARIsANV8H3bYODQTCmE0PXnI32sVaYxM1FW5382iXH8LYah-8fKOQuC--anauNwaAoHxEALw_wcB&gclsrc=aw.ds) ( 可避免掉一些環境配置 & 提供模擬器,但資源很大 ) 2. 下載 [Command line tools ( 進入網頁後搜尋Command line tools )](https://developer.android.com/studio?gclid=Cj0KCQjwsqmEBhDiARIsANV8H3bYODQTCmE0PXnI32sVaYxM1FW5382iXH8LYah-8fKOQuC--anauNwaAoHxEALw_wcB&gclsrc=aw.ds) -> **這次安裝是使用這個** ![](https://i.imgur.com/W68Qfrq.png) ### 安裝(建置) 1. 將 cmdline-tools 解壓縮放至 ``` C:\Android\cmdline-tools ``` 2. 在進入至 ``` C:\Android\cmdline-tools\latest\bin ``` 3. 開啟 Cmd ![](https://i.imgur.com/sw5EJhc.gif) 4. 使用 sdkmanager.bat 安裝對應的 SDK 版本 ( API Level ) [sdkmanager 指令參考](https://developer.android.com/studio/command-line/sdkmanager) **※ Cordova 支援版本** ![](https://i.imgur.com/GqiqHkL.png) **※ Android 版本歷史** ![](https://i.imgur.com/wvHpIfN.png) ### 環境配置 ( 應該只有 sdk-tools-windows 要配置(?) ) ![](https://i.imgur.com/qlOa22P.png) --- ## 安裝 Gradle ### 下載 [Gradle-Releases](https://gradle.org/releases/) ### 環境配置 ![](https://i.imgur.com/OzCKsGr.png) --- ## 安裝 Cordova ``` npm install -g cordova ``` ### 建立 Cordova 資料夾 * 建立資料夾 => hello * PackageName => com.example.hello ( 可在 config.xml 修改 ) * App 名稱 => HelloWorld ( 可在 config.xml 修改 ) ``` cordova create hello com.example.hello HelloWorld ``` --- ## 開始下指令 ( 在建立好的 Cordova 資料夾開啟 cmd ) [官方指令集](https://cordova.apache.org/docs/zh-tw/10.x/guide/cli/) ### 安裝平台 ``` cordova platform add ios ``` ``` cordova platform add android ``` --- ### FB Login => [cordova-plugin-facebook4](https://github.com/jeduan/cordova-plugin-facebook4) 1. 安裝 FB Login 套件 ``` cordova plugin add cordova-plugin-facebook4 --save --variable APP_ID="270555104487540" --variable APP_NAME="i-Care" ``` 2. FB Developer 設置應用程式 ![](https://i.imgur.com/GMl6Y8x.png) 3. 手動新增一個 build.json 檔 並將剛剛產出的雜湊碼檔案丟入 Cordova 資料夾( 聽說 Mac 可略過此步驟,我用 Windows 建置安卓時會抓不到正確的雜湊碼導致 FB 無法登入 ) ![](https://i.imgur.com/50agxOq.png) **※ build.json 檔內容** ``` { "android": { "debug": { "keystore": "./debug.keystore", "storePassword": "android", "alias": "androiddebugkey", "password" : "android", "keystoreType": "" }, "release": { "keystore": "./debug.keystore", "storePassword": "android", "alias": "androiddebugkey", "password" : "android", "keystoreType": "" } } } ``` **※ 如何產生雜湊碼?快速入門有教學 => 操作到 4.新增您的「開發金鑰雜湊」和「發行金鑰雜湊」** ![](https://i.imgur.com/0jcvOsB.png) #### 快速說明 ( 簡單來說就是使用 keytool 加上 OpenSSL 去產生 debug.keystore 這個檔案 ) ![](https://i.imgur.com/L9H6GhQ.png) 1. 下載 OpenSSL 2. 到 jre 的 bin 中開啟 cmd 執行以下指令 ``` keytool -exportcert -alias androiddebugkey -keystore "%USERPROFILE%\.android\debug.keystore" | "C:\Users\user\Desktop\新增資料夾\bin\openssl" sha1 -binary | "C:\Users\user\Desktop\新增資料夾\bin\openssl" base64 ``` 3. 執行後會要輸入密碼,輸入 android --- ### 安裝 連接低功率藍芽套件 => [cordova-plugin-bluetoothle](https://github.com/randdusing/cordova-plugin-bluetoothle) 1. 安裝套件 ``` cordova plugin add cordova-plugin-bluetoothle ``` 2. 查看測試頁面的 Code **※ 特別注意,使用此藍芽套件時,手機必須開啟定位功能 和 允許應用程式使用位置權限** --- ### 將 Vue Cli 建置至 Cordova/www 1. 在 vue.config.js 中配置一些參數 ``` module.exports = { publicPath: './', //這個值也可以被設置為空字符串('') 或是相對路徑('./'),這樣所有的資源都會被鏈接為相對路徑,這樣打出來的包可以被部署在任意路徑,也可以用在類似Cordova hybrid 應用的文件系統中。 outputDir: '../cordova-project/www', //將打包目錄指向/cordova-projec下的www productionSourceMap: false, //如果你不需要生產環境的 source map,可以將其設置為 false 以加速生產環境構建。 } ``` 2. 安裝專案使用套件 ( Project Setup ) ``` npm install ``` 3. 建置專案 ``` npm run build ``` **※ 參考** ![](https://i.imgur.com/aeA2xqP.png) => [Configuration Reference](https://cli.vuejs.org/config/). ### 執行 android #### run 的時候將 app 裝至模擬器 or 可 USB 偵錯的手機 ``` cordova run android --device ``` #### 普通 run or build 會在 "Cordova資料夾\platforms\android\app\build\outputs\apk" 中找到建置好的 apk 檔 ``` cordova build android ``` [安卓手機開啟 USB 偵錯方法](https://blog.xuite.net/yh96301/blog/539578941)