用Cordova將vue項目打包成app

1.配置安卓環境

(1)下載JDK和JRE,安裝(通常JDK會集成JRE,所以只需安裝JDK就好)JDK一定要是 8 版本(JDK1.8),Down了個10版本的差點配到吐也沒成功,這是個驚天神坑

(2)下載Android  SDK,雙擊安裝,複製下安裝目錄

(3)配飾環境變量:系統 => 高級系統設置 => 環境變量 =>系統變量 => 新建

新建一個ANDROID_HOME,值是sdk安裝路徑

新建一個JAVA_HOME,值是JDK安裝路徑

新建一個CLASSPATH,值是   .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;   (最前面有個點)

找到PATH,點擊編輯,添加SDK目錄下的platform_tools和tools路徑,再添加一個JDK下的bin路徑

 

 

2.構建VUE項目

使用vue-cli正常構建,擼代碼

3.使用Cordova搭建打包環境

 npm install -g cordova --registry=https://registry.npm.taobao.org    (安裝cordova,這裏不要用npm或者cnpm  install  cordova  -g,會出錯)

cordova creat cordovaApp com.cordova.testapp               (創建cordova項目,cordova create 項目名  com.公司名.項目名  類名)

cd cordovaApp

cordova platform add android         (添加安卓平臺,注:很多插件例如攝像頭插件之類的要在安卓6.3.0之後纔好使,儘量安裝android7.0平臺)

4.修改vue項目

(1)在index.html的head中加入

<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data: content:;">

<meta name="format-detection" content="telephone=no">

<meta name="msapplication-tap-highlight" content="no">

<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">

第一句可以不用加,加上可以防止跨站腳本攻擊,但也有可能導致頁面亂套

 

然後引入cordova.js,並添加一個監聽設備的函數

<body>

    <div id="app"></div>

     <script type="text/javascript" src="cordova.js"></script>

    <script>

        document.addEventListener('deviceready', function() {   }, false);

    </script>

</body>

 

最後修改config文件夾下的index.js

修改build中的

assetsSubDirectory: 'Static',

assetsPublicPath: '/',

assetsSubDirectory: ' ',

assetsPublicPath: ' ',

或者改成

assetsSubDirectory: ' ',

assetsPublicPath: ' ./',

 

然後運行

npm run dev

註釋掉main.js的document.addEventListener('deviceready', function() { }),因爲這個在瀏覽器裏不識別,在APP裏纔可以此時如果能正常跑起來,那就沒問題了。(會報一個缺少左尖角的錯,不用管)

 

5.將VUE項目打包

npm run biuld

將生成的dist文件夾下的文件全部複製,替換掉剛剛新建的cordova項目裏面的www文件夾內的東西,然後在終端進入cordova項目文件夾,運行打包命令

cordova  build  android

會生成一個apk文件,然後放到手機裏,安裝即可

 

6.注意事項

(1)配置安卓環境非常麻煩,而且全他媽是坑,謹慎,心態放平,版本壓低

(2)首次打包時間會非常長,我花了25分鐘,因爲npm要去下載gradle,不太大,但是不科學上網的話會奧比慢

(3)如果安卓了安卓SDK但是打包的時候一直報 Android SDK not found 的錯,去下載一個低版本的tool,解壓之後替換掉SDK安裝目錄下的tool文件夾,下載地址:https://dl.google.com/android/repository/tools_r25.2.3-windows.zip

(4)JDK爲版本最好爲 8(即1.8.0),然後等cordova build android時,報了哪個SDK的版本,就去Android  Studio裏下載對應的SDK Platform。

例如我的報的是22:

那麼打開Android Studio,右下角的configure => SDK Manager

勾選右下角Show Package Details => 找到你去要的SDK Platform版本,勾選 => OK

再回到終端裏,cordova  build  android,就可以了

 

另:真機調試請看https://blog.csdn.net/bing103425/article/details/81362113

 

 

 

不要覺得年紀輕輕就到了低谷,人生還有很大的下降空間。