1. 程式人生 > >cordova整合sencha touch建立APP專案,以及Android Studio專案匯入和打包

cordova整合sencha touch建立APP專案,以及Android Studio專案匯入和打包

-------------------目錄結構-------------------------------------------         \app                                                            總目錄         \app\cordova\platforms\android                cordova 工程目錄(生成後,                                                                                 用Android Studio 匯入cordova工程,                                                                                 匯入時選擇\app\cordova\platforms\android\build.gradle                                                                         )         \app\cordova\platforms\ios                        xcode 工程目錄(IOS, iphone 打包)             \app\www-sencha                                    原始檔目錄(sencha工程)                 \app\www-sencha\touch                            sencha sdk        

                 \app\build                                                build目錄                  \app\lib                                                    引用的資源目錄                          \app\lib\jquery\jquery-3.2.1.min.js            JQuery         \app\lib\jquery\CircularLoader-v1.3.js        JQuery 圓形進度條 最新1.3         \app\lib\Encryption                                    加密演算法js                  \app\lib\certificate                                            證書目錄,所需的key,keystore等放於此目錄         \app\lib\GooglePlay                                        GooglePlay 所需資源(eg:符合約定尺寸的圖片等)                 \app\lib\iTunes                                                iTunes 所需資源(eg:符合約定尺寸的圖片等)          -------開發及打包釋出流程-------------------------------------------------------------------------------------------------------------------------------------                 ---工程下編寫程式碼                 \app\www-sencha          --- android              -- 執行build                     \app\build\build-android.bat                ---AudioStudio 安卓打包       --- ios               -- 執行build                       \app\build\build-ios.sh               --XCode 下 IOS 打包 -------工程建立-------------------------------------------------------------------------------------------------------------------------------------             建立目錄E:\workspace_las\app                     cd E:\workspace_las\app                             ---建立cordova 工程  cordova 8.0.0                     cordova create cordova cn.com.sunnet.app.edugo.parent parent                                         cd cordova                     cordova platform add ios                     cordova platform add android                     cordova plugin add cordova-plugin-splashscreen                                          編輯\app\cordova\config.xml                         修改應用名稱 name, description ,author                             編輯新增 android 安裝圖示及啟動頁面配置                                 <platform name="android">                                       <icon density="ldpi" src="res/icon/android/icon-36-ldpi.png" />                                       <icon density="mdpi" src="res/icon/android/icon-48-mdpi.png" />                                       <icon density="hdpi" src="res/icon/android/icon-72-hdpi.png" />                                       <icon density="xhdpi" src="res/icon/android/icon-96-xhdpi.png" />                                       <icon density="xxhdpi" src="res/icon/android/icon-144-xxhdpi.png" />                                       <icon density="xxxhdpi" src="res/icon/android/icon-192-xxxhdpi.png" />  

                                    <splash density="land-hdpi" src="res/screen/android/splash-land-hdpi.png" />                                       <splash density="land-ldpi" src="res/screen/android/splash-land-ldpi.png" />                                       <splash density="land-mdpi" src="res/screen/android/splash-land-mdpi.png" />                                       <splash density="land-xhdpi" src="res/screen/android/splash-land-xhdpi.png" />                                       <splash density="port-hdpi" src="res/screen/android/splash-port-hdpi.png" />                                       <splash density="port-ldpi" src="res/screen/android/splash-port-ldpi.png" />                                       <splash density="port-mdpi" src="res/screen/android/splash-port-mdpi.png" />                                       <splash density="port-xhdpi" src="res/screen/android/splash-port-xhdpi.png" />                                       <preference name="SplashScreenDelay" value="3000" />                                 </platform>                                                  ---用Android Studio 匯入cordova 工程                      ---gradle 採用4.1                              \app\cordova\platforms\android\cordova\lib\builders\GradleBuilder.js                             var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'https\\://services.gradle.org/distributions/gradle-4.1-all.zip';                         ---匯入---選擇\app\cordova\platforms\android\build.gradle                         build 後報錯                         ---修改 \app\cordova\platforms\android\gradle.properties                                 新增 android.enableAapt2=false                     ---Clean Project ,Rebuild Project                     ---可以試打包 build-->Generate Signed APK                         打包成功的android apk 在\app\cordova\platforms\android\release目錄下         ---執行模擬器 Android Studio 模擬器                     將系統sdk 與android studio sdk目錄設定成一致         ---建立sencha 工程                     E:\workspace_las\app目錄下                     \app                     sencha -sdk D:\touch-2.4.2 generate app parent www-sencha                     cd www-sencha                                         ---後續在www-sencha編寫 sencha主程式                             ---build指令碼(編寫 sencha程式後,執行build,然後用Android Studio 打包 APK)                 \app\build 建立目錄,建立指令碼檔案                 \app\build\build-android.bat  ---android build指令碼                             cd ..\www-sencha                             rd /S /Q ..\cordova\platforms\android\assets\www                             cmd /c "sencha app build -e production"                             move build\production\General ..\cordova\platforms\android\assets\www                             rd /S /Q build\production                             cd ..\build         ---可以試打包 build-->Generate Signed APK                 打包成功的android apk 在app\cordova\platforms\android\app\release目錄下         ---經 android studio 打包過的工程,若改動cordova的相關更新,可以用Cordova  build命令執行一次             cordova build             然後執行一下build\build-android.bat             然後Android Studio 再打一次包              ------工程搭建完畢,工作流程----------------------------------------------------------------------------------------------------------------------------------                     -----編寫sencha 工程  \app\www-sencha     ----- \app\build\build-android.bat     ------Android Studio 打包      ------若改動 www-sencha\resources\sass         執行一下 sencha app build 來做相應的更新         sencha app build -e production

         ------sencha   工程編寫----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------         \app\www-sencha\app.js                 定義 Ext.Loader.setPath         \app\www-sencha\app.json              //Extra resources to be copied along when build                                  "resources": [                         "resources/images",                         "resources/icons",                         "resources/startup"                     ],         修改了touch/src/picker下的檔案(中文)     ------app啟動序列         -- app.js  launch         -- app.js controllers 中按controller順序載入                                              ----   TODO 列表         app.js             //TODO 自動加入 Profile Name 對應的CSS                               //沒有網路的情況下,但user info 還在時,要允許計入app         build 指令碼修改  /lib/cordova/cordova.js         重新整理問題                  主頁頁面尺寸不對,變化的問題,應改為讀取windows尺寸。 ------    

---------整合app cordova  plugin 及融雲plugin 並改寫指令碼---------------------------------------------------------------------------------             cordova platform remove android         cordova platform add [email protected]             cordova platform add ios         cordova plugin add cordova-plugin-device         cordova plugin add cordova-plugin-console         cordova plugin add cordova-plugin-whitelist         cordova plugin add cordova-plugin-splashscreen         cordova plugin add cordova-plugin-statusbar             cordova plugin add cordova-plugin-media-capture         cordova plugin add cordova-plugin-file         cordova plugin add cordova-plugin-camera         cordova plugin add cordova-plugin-media         cordova plugin add cordova-plugin-file-transfer         cordova plugin add cordova-plugin-rongcloud-im                  ---用Android Studio 重新匯入cordova 工程                  ---匯入---選擇\app\cordova\platforms\android\build.gradle                 ---build報錯                     ---修改 \app\cordova\platforms\android\gradle.properties                                 新增 android.enableAapt2=false         ---替換融雲SDK android 版本至最新版本                      --下載融雲SDK最新版本 Rong_Cloud_Android_IMLib_CallLib_PushLib_SDK_v2_8_31                             -- 將\IMLib\libs覆蓋 app\cordova\platforms\android\libs ,                                 並將原app\cordova\platforms\android\libs\RongCloudLib.jar刪掉                                 將新的app\cordova\platforms\android\libs\Rong_IMLib.jar 改名為 RongCloudLib.jar                             --Android Studio 工程修改RongCloudLibPlugin.java                                     將RongPushInterface 替換為 RongPushClient             ---- Android Studio  關聯 supportV4  http://blog.csdn.net/zhuhai__yizhi/article/details/44566915                        supportV4  至 v4:27.0.2                            ---File-->Project Structure-->Modules-android-->Dependencies         ----相應的libsqlite.so 複製到app\cordova\platforms\android\libs\對應的目錄下                         ---若是改動plugin js, 在改動完後,將相應改動的檔案,覆蓋至正式的\app\cordova\platforms\android\platform_www\plugins下相應的檔案         --修改AndroidManifest.xml  與2.8.31版本相同         --修改app\cordova\platforms\android\res\values 對應的融雲rc檔案             以便總build時覆蓋此檔案              ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------             改動 config.xml,需要用cordova build 一次,然後用android-build.bat

        android 啟動圖片規格         寬X高                 720x1280                 1280x720                 320x480                 480x320                 200x320                 320x200                 480x800                 800x480 -------IOS 版打包及安裝-----------------------------------------------------------------------------------------------------------------------------------                     remotix 連結         點選執行 cornerstone 543         點左側MobileParent, 選中右側--app--www-sencha         點選上部第二個按鈕 Update 按鈕,同步更新一下svn         點選底部選單欄--終端,輸入cd ,此時在剛才的cornerstone 543視窗中,                 選中app-build 目錄,點住拖至 --終端視窗中,然後回車,                 這樣就進入 /users/snnet/美育曼德/SVN/MobileParent/app/build目錄中         執行  ./build-ios.sh         build 完成後,開啟XCODE,選擇 MobileParent         裝置選擇:parent-Generic IOS Device (左上紅綠燈右側parent>xxxxx處 選擇)         頂部選單-->Product-->點選Achive (這裡若報錯,                     注意一下簽名中 (內部測用企業簽名,如下:)                             Signing---Team 選擇:SUN NET TECHNOLOGY CO.LTD                             Bundle Identifier: cn.com.sunnet.app.edugo.parent2)         Achive成功後窗口右側-->Export--》選Enterprise-->Next             -->選 All compatible device variants--》Next--》選Automatically...-->Next             -->Export-->Export(上面有日期)匯出到了桌面         關閉XCode         通過Bitvise SSH Client 連結             /Users/sunnet/Desktop 目錄下找到剛才生成的ipa 下載即可