溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

詳解cordova打包成webapp的方法

發(fā)布時間:2020-08-27 06:10:50 來源:腳本之家 閱讀:298 作者:_林沖 欄目:web開發(fā)

在項目開發(fā)中,需要將h6頁面打包成app,這個時候我們可以使用cordova來打包。在官方文檔中,我們可以了解到創(chuàng)建一個app十分簡單,你的電腦上有nodejs就行,我們可以跟著官方文檔一步一步來,添加安卓平臺和ios平臺。整個項目結(jié)構(gòu)搭建完畢后,我們可以將我們需要打包的webapp頁面全部塞到這個項目結(jié)構(gòu)中。接下來就是麻煩的地方了,如何進行平臺開發(fā),也就是如何將我們的項目打包成一個可安裝的文件。

一:設置環(huán)境變量:

1.設置JAVA_HOME環(huán)境變量,指定為JDK安裝路徑

2.設置ANDROID_HOME環(huán)境變量,指定為Android SDK安裝路徑

3.同時也要添加Android SDK的tools和platform-tools目錄到你的PATH

這里需要注意的是設置ANDROID_HOME環(huán)境變量,我們可以將android studio安裝到我們的電腦中,在安裝過程中android studio會自動將Android SDK安裝到我們的電腦里,這個時候記住這個地址就行了,如圖(下面那一行的路徑就是Android SDK):

詳解cordova打包成webapp的方法

二:報這種錯誤的時候:Error:Minimum supported Gradle version is xxxx.  Current version is xxxx.

當時我在打包的時候報這鐘錯誤,在網(wǎng)上查到了原因,是因為android studio更新了Gradle的版本,這個時候解決的步驟如下:

1:打開android studio,找到setting,搜索gradle,如圖進行設置(具體路徑各異):

詳解cordova打包成webapp的方法

三:Windows cordova build Error: Could not find gradle wrapper within Android SDK. Might need to update

解決辦法:

  1. 下載 Android SDK tools package(https://dl.google.com/android/repository/tools_r25.2.3-windows.zip)
  2. 進入 C:\Users\\AppData\Local\Android\sdk目錄
  3. 備份tools目錄
  4. 將壓縮包中的tools目錄解壓到這個目錄下
  5. 進入工程目錄,再次運行 “cordova build android”。

四:安裝cordova-plugin-splashscreen報錯:

這個時候可能的原因是你已經(jīng)打包過apk文件了,你需要將apk文件刪除,然后再安裝。

五:打包vue項目時遇到的問題

 1:使用npm run build打包到哪?

詳解cordova打包成webapp的方法

如圖,Qianne是我vue項目的名稱,我在這個文件夾打開了dos窗口,然后創(chuàng)建一個app框架,名為myApp1。然后我將config里index.js中修改:

index: path.resolve(__dirname, '../myApp1/www/index.html'),
 assetsRoot: path.resolve(__dirname, '../myApp1/www'),
 assetsSubDirectory: 'static',
 assetsPublicPath: './',

這里的路徑直接指向了myApp1下www文件夾。然后我們在vue項目中運行npm run build。這個時候我們就把打包后的文件直接放在了myApp1下www文件夾。此時我們還要將

cordova.js和cordova_plugins.js文件放進www文件夾中,與index.html同級。(記住此時會覆蓋index.html,我們要將index.html中引用cordova.js的那句代碼復制到打包后的index.html中)。

2:直接打開打包后的index.html,路由居然沒作用?

我的解決辦法:

找到vue項目中的main.js,將其中路由的代碼的mode改為“hash”,我之前是“history”所以路由一直沒用

const router = new VueRouter({

 mode: 'hash',

 routes

}) 

之后我們再打包一次,如果打包后的index.html打開后路由正常,那么恭喜你。這個時候我們在myApp1下進入dos窗口,輸入cordova build android,打包成apk文件。

六:app的logo啟動頁面應該放在哪里?

詳解cordova打包成webapp的方法

 

在項目結(jié)構(gòu)中, 我們需要安裝splashscreen插件:

cordova plugin add cordova-plugin-splashscreen 

我們在config.xml中插入以下代碼:

 <platform name="android">

  <allow-intent href="market:*" rel="external nofollow" />

   <icon density="ldpi" src="./res/icon/android/mipmap-ldpi/icon.png" />

  <icon density="mdpi" src="./res/icon/android/mipmap-mdpi/icon.png" />

  <icon density="hdpi" src="./res/icon/android/mipmap-hdpi/icon.png" />

  <icon density="xhdpi" src="./res/icon/android/mipmap-xhdpi/icon.png" />

  

  <!-- 以下是歡迎頁面,可根據(jù)需要進行添加 -->

  <splash density="land-hdpi" src="./res/screen/android/drawable-land-hdpi/screen.png" /> 

  <splash density="land-ldpi" src="./res/screen/android/drawable-land-ldpi/screen.png" /> 

  <splash density="land-mdpi" src="./res/screen/android/drawable-land-mdpi/screen.png" /> 

  <splash density="land-xhdpi" src="./res/screen/android/drawable-land-xhdpi/screen.png" /> 

  <splash density="port-hdpi" src="./res/screen/android/drawable-port-hdpi/screen.png" /> 

  <splash density="port-ldpi" src="./res/screen/android/drawable-port-ldpi/screen.png" /> 

  <splash density="port-mdpi" src="./res/screen/android/drawable-port-mdpi/screen.png" /> 

  <splash density="port-xhdpi" src="./res/screen/android/drawable-port-xhdpi/screen.png" /> 

 </platform>

<platform name="ios"> 

 <!-- iOS 8.0+ --> 

 <!-- iPhone 6 Plus --> 

 <icon src="./res/icon/ios/icon-60@3x.png" width="180" height="180" /> 

 <!-- iOS 7.0+ --> 

 <!-- iPhone / iPod Touch --> 

 <icon src="./res/icon/ios/icon-60.png" width="60" height="60" /> 

 <icon src="./res/icon/ios/icon-60@2x.png" width="120" height="120" /> 

 <!-- iPad --> 

 <icon src="./res/icon/ios/icon-76.png" width="76" height="76" /> 

 <icon src="./res/icon/ios/icon-76@2x.png" width="152" height="152" /> 

 <!-- iOS 6.1 --> 

 <!-- Spotlight Icon --> 

 <icon src="./res/icon/ios/icon-40.png" width="40" height="40" /> 

 <icon src="./res/icon/ios/icon-40@2x.png" width="80" height="80" /> 

 <!-- iPhone / iPod Touch --> 

 <icon src="./res/icon/ios/icon.png" width="57" height="57" /> 

 <icon src="./res/icon/ios/icon@2x.png" width="114" height="114" /> 

 <!-- iPad --> 

 <icon src="./res/icon/ios/icon-72.png" width="72" height="72" /> 

 <icon src="./res/icon/ios/icon-72@2x.png" width="144" height="144" /> 

 <!-- iPhone Spotlight and Settings Icon --> 

 <icon src="./res/icon/ios/icon-small.png" width="29" height="29" /> 

 <icon src="./res/icon/ios/icon-small@2x.png" width="58" height="58" /> 

 <!-- iPad Spotlight and Settings Icon --> 

 <icon src="./res/icon/ios/icon-50.png" width="50" height="50" /> 

 <icon src="./res/icon/ios/icon-50@2x.png" width="100" height="100" /> 

 <!-- 以下是歡迎頁面,可根據(jù)需要進行添加 -->

 <splash src="./res/screen/ios/Default~iphone.png" width="320" height="480"/> 

 <splash src="./res/screen/ios/Default@2x~iphone.png" width="640" height="960"/> 

 <splash src="./res/screen/ios/Default-Portrait~ipad.png" width="768" height="1024"/> 

 <splash src="./res/screen/ios/Default-Portrait@2x~ipad.png" width="1536" height="2048"/> 

 <splash src="./res/screen/ios/Default-Landscape~ipad.png" width="1024" height="768"/> 

 <splash src="./res/screen/ios/Default-Landscape@2x~ipad.png" width="2048" height="1536"/> 

 <splash src="./res/screen/ios/Default-568h@2x~iphone.png" width="640" height="1136"/> 

 <splash src="./res/screen/ios/Default-667h.png" width="750" height="1334"/> 

 <splash src="./res/screen/ios/Default-736h.png" width="1242" height="2208"/> 

 <splash src="./res/screen/ios/Default-Landscape-736h.png" width="2208" height="1242"/> 

</platform> 

同樣的,我們要在res文件夾下的對應文件夾中放入相應的logo或者圖片.

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI