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 下載即可