1. 程式人生 > >通過cordova將vue項目打包為app

通過cordova將vue項目打包為app

sse tools hand ets 安裝jdk cati ssp 版本 init

準備工作:需要之前配置好vue-cli腳架構,安裝好cordova環境。下面開始對vue.js項目進行打包,打包環境為Android。

1.添加cordova項目

$ cordova create myApp1 org.apache.cordova.myApp myApp2

其中:

  • myApp1:cordova目錄名
  • org.apache.cordova.myApp: 包名
  • myApp2: 項目名(在config.xml的<name>中查看)

2.在vue中添加cordova的配置

myApp1/www/index.html----->vue/index.html

  • 將myApp1/www/index.html中所有的<meta>拷貝到vue/index.html中
  • 將將myApp1/www/index.html中<script>關於cordova.js的引用拷貝到vue/index.html中

myApp1/www/js/index.js----->vue/vuex/main.js

  1. var app = {
  2. // Application Constructor
  3. initialize: function() {
  4. this.bindEvents();
  5. },
  6. // Bind Event Listeners
  7. //
  8. // Bind any events that are required on startup. Common events are:
  9. // ‘load‘, ‘deviceready‘, ‘offline‘, and ‘online‘.
  10. bindEvents: function() {
  11. document.addEventListener(‘deviceready‘, this.onDeviceReady, false);
  12. },
  13. // deviceready Event Handler
  14. //
  15. // The scope of ‘this‘ is the event. In order to call the ‘receivedEvent‘
  16. // function, we must explicitly call ‘app.receivedEvent(...);‘
  17. onDeviceReady: function() {
  18. app.receivedEvent(‘deviceready‘);
  19. },
  20. // Update DOM on a Received Event
  21. receivedEvent: function(id) {
  22. var parentElement = document.getElementById(id);
  23. var listeningElement = parentElement.querySelector(‘.listening‘);
  24. var receivedElement = parentElement.querySelector(‘.received‘);
  25. listeningElement.setAttribute(‘style‘, ‘display:none;‘);
  26. receivedElement.setAttribute(‘style‘, ‘display:block;‘);
  27. console.log(‘Received Event: ‘ + id);
  28. }
  29. };
  30. app.initialize();

  1)內容拷貝到vue/src/vuex/main.js中

  2)onDeviceReady時啟動app

  1. onDeviceReady: function () {
  2. //app.receivedEvent(‘deviceready‘);
  3. appRouter.start(App, ‘app‘)
  4. window.navigator.splashscreen.hide()
  5. }

3.創建android項目

  終端中進入到vue項目,執行以下命令:  

    cordova platform add android

4.添加cordova插件

  終端中進入到vue項目,執行以下命令:

    cordova plugin add xxxx

5. 構建 vue項目

    終端中進入到vue項目,執行以下命令:

      npm run build

6.文件轉移

  將dist文件夾下的文件,拷貝到cordova/platforms/androd/assets/www目錄下 (index.html替代掉原本的)

7.構建cordova項目

  從終端進入到myApp1/platforms/android/cordova目錄下,執行以下命令:

    cordova build android //構建apk  (這裏因為安裝的cordova是最新的版本6.5.0, 默認的會適配6.0的Android環境,這裏需要安裝JDK1.8及以上的版本)

  配置JDK環境(這裏只對mac os進行記錄,Win系統請自行腦補):

    

    cd ~ 進入到 ~ 目錄

    touch .bash_profile

    vi .bash_profile 使用vi編輯器編輯 .bash_profile文件

    然後輸入 i ,在vi編輯器裏面輸入 i 的意思是開始編輯。

    vi編輯器裏面的內容如下:

    JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home

    CLASSPAHT=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    PATH=$JAVA_HOME/bin:$PATH:

    export JAVA_HOME

    export CLASSPATH

    export PATH   

    然後退出vi編輯器使用如下命令:(個人習慣 :wq!回車

    1. 輸入 ese

    2. 輸入冒號 : wq

    3. 保存退出

  如果以上修改完畢切正確,那麽接下來就是讓配置的環境變量生效,使用如下命令:

    source .bash_profile

  完畢以後查看下當前的java 版本是否正確輸入如下命令:

    java -version

   如果是預想中的1.8,那麽恭喜你,你這個時候就可以執行: cordova build android

    cordova run android //構建apk,並安裝到連接的設備上  (按個人需求)

通過cordova將vue項目打包為app