ionic打包步驟(安卓)

打包APP以前要作的工做:node

  ionic resources -icon : 【建立一個app圖標】: 以png/psd/AI格式保存在項目目錄下的:resource/android/icon.png ;android

                                                  使用命令  ionic resources -icon  就能夠生產不一樣尺寸的圖標;git

  ionic resources --splash : 【建立啓動頁面圖片】:啓動畫面的源文件至少須要2208px×2208px; 保存在項目目錄下:保存格式爲resource/android/splash.png github

                                                     使用命令 ionic resources --splash 就能夠生成不一樣尺寸的啓動動畫圖片了;算法

  啓動頁面的顯示時間設置:安卓版的app的設置方法是,在config.xml里加入以下幾句話:npm

             <preference name="SplashScreenDelay" value="5000"/>windows

             <preference name="FadeSplashScreenDuration" value="500"/>瀏覽器

               <preference name="BackupWebStorage" value="none"/>緩存

              <preference name="SplashScreen" value="screen"/>服務器

             <!-- 不在啓動的時候顯示進度圓圈 -->

               <preference name="ShowSplashScreenSpinner" value="false"/>

            在代碼裏的配置以下

            其中,包含SplashScreenDelay的那一項,就是開機畫面的顯示時間,單位是毫秒

 

項目部署:

   ionic支持iOS和android兩個平臺,默認的ionic項目並無添加這兩個平臺,須要咱們手動添加:

   ionic platform add android ,執行完畢後,在開發目錄下的 platform目錄 會多一個android 的目錄;

   【ionic platform add android        (添加android平臺)
       ionic platform remove android  (移除android平臺)】

   【ionic cli 3.x 中已經改爲了ionic cordova platform add android】

    

調試環境 :

   ionic serve : 在瀏覽器中預覽應用時,在編寫代碼的時候,只須要保存,頁面就會自動刷新,不準手動刷新;

     只須要執行ionic serve就能夠實現lievereload;

     部署到【移動端】後也能夠開啓livereload的,只須要修改下run命令參數:【 ionic run android --livereload -c -s  】;

        這是android的調試模式,不管在虛擬機上仍是在手機上均可以實現livereload,不用每次開發完成編譯再部署!-c是開啓客戶端日誌輸出,-s是開啓服務器端日誌輸出;        

  ionic emulate    在模擬器中運行Ionic項目;

      

android打包:

  執行命令 : ionic build android -release   ;  或者:ionic build android -- --ant ;或者: ionic build android --prod --release   ;

        cordova命令也能夠打包:cordova build --release android ;

 

簽名:

       找到www/platform目錄下生成的apk包,此時的apk還不能被安裝到手機上,還須要一步簽名操做:

  建立key,須要用到keytool.exe (位於jdk1.6.0_24\jre\bin目錄下),使用產生的key對apk簽名用到的是jarsigner.exe (位於jdk1.6.0_24\bin目錄下),

       命令行輸入:keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore

  【說明: -genkey 產生密鑰  -alias demo.keystore 別名 demo.keystore  -keyalg RSA 使用RSA算法對簽名加密  -validity 40000 有效期限4000天   -keystore demo.keystore  ;】

  命令行輸入:jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore

  (用以上的方式簽名出來的包會報錯,安裝的時候出現解析安裝包出錯)

   解決方法:打包時用( ionic build android --prod --release  ,使用如下方法簽名)

         jarsigner -verbose -keystore qbbusdevelib.keystore -signedjar qdbus.apk -digestalg SHA1 -sigalg MD5withRSA android-release-unsigned.apk qbbusdevelib.keystore

  【說明: -verbose 輸出簽名的詳細信息  -keystore demo.keystore 密鑰庫位置  -signedjar demor_signed.apk demo.apk demo.keystore 正式簽名,

           三個參數中依次爲:簽名後產生的文件demo_signed,要簽名的文件demo.apk和密鑰庫demo.keystore  ;】

       【注意事項】:android工程的bin目錄下的demo.apk默認是已經使用debug用戶簽名的,因此不能使用上述步驟對此文件再次簽名。

                                 正確步驟應該是:在工程點擊右鍵->Anroid Tools-Export Unsigned Application Package導出的apk採用上述步驟簽名。

 

Android自動簽名: 步驟

        在platforms\android目錄新建名爲release-signing.properties的文件,文件內容以下:

          storeFile=path/to/keystore
          keyAlias=your key aliasstore
          Password=your store passwordkey
          Password=your key password

        使用ionic build --release android編譯便可,在\platforms\android\build\outputs\apk出現android-release.apk文件便是已簽名的安裝包。

        在windows下storeFile文件路徑應使用Unix下的目錄分隔符/。

 

在項目目錄下ionic的cmd指令:

    ionic plugin list    —— 當前項目的插件列表 ;

    ionic plugin remove 插件名    ——先根據上面的list列出插件,而後根據插件名卸載;

    ionic plugin  add  插件地址 ——這個插件地址能夠是github的項目地址,也能夠是一個文件夾路徑;

    ionic –help  ——查看幫助文件

 

      下載ionic1項目模板【ionic start newapp --type ionic1】

           【ionic start newapp blank --v1】

遇到的問題:

    1.  某些時候用npm install -g cordova 安裝某些包失敗的時候: 能夠下載個cnpm :  npm install -g cnpm --registry=https://registry.npm.taobao.org ;      

                                執行成功後,輸入 cnpm install -g cordova 安裝;

    2.  ionic3.0.0下,ionic start建立項目的時候:

                                ✖ Downloading - failed!
                                 Error: Timeout of 25000ms reached for https://github.com/driftyco/ionic-app-base/archive/master.tar.gz

        解決方法: 

           建立項目的時候,先行屏蔽掉依賴的安裝: ionic start myApp --skip-npm

           等到項目建立完畢後,進入項目自動建立的myAPP文件夾,再使用npm國內鏡像去安裝依賴:cnpm install --save

           安裝npm國內淘寶鏡像命令行:npm install -g cnpm --registry=https://registry.npm.taobao.org

           (網上查的,可是仍是沒有解決)

 

    3.  執行:ionic platform add android  時候會提示:

      The platform command has been renamed. To find out more, run:  ionic cordova platform --help 

      平臺命令已經被重命名----

      (如下是找的參考資料,出現這種狀況的大體緣由:)

        Ionic和Ionic CLI是不同的東西。Ionic CLI是基於nodeJS的工具腳手架,開發Ionic應用程序過程當中使用的主要工具;

        ionic cli發佈了3.0的版本, 這就是你出現問題緣由之所在, 目前市面上的一切資料中的命令所有沒法正常使用了,建議你降級到ionic cli 2.x的版本;      

        當用ionic cli命令行建立項目的時候 這個命令行工具(ionic cli)會到github上去下載項目的模板(那個模板在不斷更新), 目前那個模板已經到了3.2.x版本,

          這個模板的版本號就是Ionic Framework Version. 要使用這個模板須要在建立項目的時候加--v2的參數 (否則ionic cli會到github上下載ionic1.x的模板)

          ionic cli 2默認會建立ionic 1.x的項目, 若是要建立ionic2+(包括3)的項目, 須要多加了個--v2的參數. @2會自動下載最新的2.x版本, 不用給出具體的版本號

        確認你當前系統上ionic cli的版本ionic -v, 若是不是 ionic 2.x版本, 使用以下方式降級:

                npm uninstall -g ionic
                     npm cache clean     (清除緩存)
                     npm install -g ionic@2
                     ionic start your-project blank --v2 --id com.xxx.myproject

                            (我弄了好屢次,不知道爲何降級不了啊  ,ionic -v 一直是 v3.0.0)  求大神指點!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

               這個大概的緣由差很少找到了:

        在安裝nodejs時,咱們沒有配置 npm全局模塊路徑:默認的路徑應該在 C:\Users\up\AppData\Roaming\npm這個文件夾中;

        而在咱們下次卸載從新安裝nodejs時,又配置了npm全局模塊路徑--這時咱們仍是把C:\Users\up\AppData\Roaming\npm這個文件夾刪除掉;

        這時就解決了!!!!!!!!再次下載ionic時 如npm install -g ionic@1.6.5  版本正常了!!!!

 

        這時我運行:ionic build android :結果又悲劇了:

        (node:10596) fs: re-evaluating native module sources is not supported. If you are using the graceful-fs module, please update it to a more recent version.

        看了下網上的資料:說時nodejs的版本問題:此時個人nodejs的版本是 V6.10.1;說是要用版本了5.x.x的穩定版的--------已解決!!

        在報錯,就試試  ionic build android -- --ant(我是用的這個)

 

               4.執行 :ionic build android -release 沒有反應?

        以前有把node卸載掉重裝最新的,多是cordova沒法本身指向後裝的node致使的。

        若是nodejs在裝完cordova後又卸載重裝過的話,那cordova跟ionic最好也卸載重裝過。

        最後發現是由於:cordova@5.0.0版本的,升級到cordova@6.2.0就 OK了; 

相關文章
相關標籤/搜索