Sencha学习笔记2:打包您的第一个Sencha安卓应用apk安装包
通過上一篇翻譯的官方文章的介紹我們對sencha有了初步的印象,同時我們也通過該向導生成了第一個示例應用代碼框架,那么下一步可能很多人都覺得應該根據該向導所提示的去看一下一個應用是如何建立起來的詳細信息了,但我認為可以換一下學習的路徑。
天地會珠海分舵是一個比較急功近利的人,所以有了第一個自動生成的代碼示例后,他是比較急于想知道應該如何將該示例打包成一個安卓的apk安裝包來安裝到目標安卓機器上。劉備做得好,得隴就應該望蜀,做人還是有點追求的好。
下面我們就嘗試通過一個HelloWorld的示例來看下應該如何使用sencha命令來把sencha應用打包成一個apk安裝包并安裝到目標安卓設備上面。
第一步: 創建示例代碼
根據上一篇翻譯的官方文章《Sencha學習筆記1: Getting Started with Sencha Touch - 官方Sencha Touch入門指南》所介紹的方法,我們先定位到sencha sdk所在的目錄下面,然后執行對應sencha generate app命令來在sdk的父目錄生成對應的應用框架文件:
創建示例代碼的命令輸出結果如圖所示:
第二步:修改MVC模式的View文件app/view/Main.js以改變顯示內容
這一步和第三步其實可以跳過,如果你百分之百確定新創建的示例應用運行起來沒有任何問題的話,但畢竟天地會珠海分舵只是個初學者,我相信看官對本文感興趣的應該也是如我一般是個初學者,所以建議還是多做幾步順便對sencha自動生成的代碼有些初步印象的好。
sencha命令生成的示例代碼框架中的app/view/Main.js就是MVC模式中的View,負責的士如何把ui呈現給用戶,所以我們可以通過修改其中的一些選項來修改ui的一些顯示。sencha默認生成的應用是有兩個tab標簽的應用,下面我們將應用的其中一個標簽的標題改成"My First Sench App",把其主體內容改成"What an app!";并把另外一個標簽的標題改成"Woohoo":
修改之后進行保存,然后在下一步通過瀏覽器來檢查該修改是否成功。
第三步:通過sencha命令啟動web服務器
修改好MVC中的view顯示后,我們就需要在瀏覽器中先調試檢查下該修改是否已經成功,我們可以用大部分流行的web服務器來訪問該示例應用,但為了簡單起見,且我們的主要目的是為了去學習sencha touch,所以我們這里使用的sencha命令提供的web服務器來完成這個工作。下圖顯示了通過命令打開sencha自帶web服務器的過程,注意在執行該命令前本人是先cd到應用目錄下面的,這樣我們在瀏覽器中就不用制定額外的路徑來訪問該應用了:
注意上圖最后一行打印出來的信息包含了訪問該示例應用的端口信息:1841,我們下一步需要用到。
第四步:通過瀏覽器訪問應用
最終通過瀏覽器定位到我們的應用,相信這種通過web服務器加上瀏覽器訪問的方式主要是為了調試sencha touch應用的方便而設計的,畢竟sencha touch要打造的就是基于瀏覽器或者混合應用外殼的應用,所以用瀏覽器調試應該是最方便的。
下圖顯示了瀏覽器上通過本地ip和上一步提及的端口來訪問我們修改過的view所顯示的示例的內容,從中可以看到我們修改的內容已經起效了:
第五步:確定sdk版本
這一步主要是要確定我們系統上下載的sdk版本,因為往下調用sencha命令來生成apk包的時候除了需要制定安卓sdk所在的位置之外還需要指定該sencha示例應用所應該編譯到的對應的api level。
按照本人的經驗,天地會珠海分舵認為應該有兩個方法可以判斷當前sdk支持的api level,第一種就是通過檢查sdk目錄下的platforms目錄下面有哪些api level的文件夾:
第二種就是我們可以通過"Android SDK Manager"來確定我們究竟安裝了哪些level的安卓api:
通過以上兩種方法我們就可以知道我們系統現在支持的是api level多少級別的安卓系統了,當然,如果不滿足你的需要的話,你可以通過Android SDK Manager下載更多滿足要求的。這里我們會選取其中一個,比如我們這里選取api level 19。
第六步:修改應用頂層目錄下的packager.json文件
該文件是一個指示sencha應該如何打包應用的文件,這里有幾個地方需要進行修改的。
首先,我們需要修改的是示例應用的命名空間,其實在天地會珠海分舵看來,安卓上該命名空間就等同于應用的包名,往下我們會進行驗證。請先看下圖顯示的命名空間applicationId選項的修改:
該選項的值修改之前是“HelloWorld",為了遵循安卓的包命名規則,我們需要把它修改成如下格式"com.sample.HelloWorld"。圖片顯示的其他格式先不要動,保留原來是什么值就什么值。
然后往下我們還需要修改簽名等相關的信息,如下圖所示:
首先platform應該修改成Android,因為我們現在的示例是演示如何打包安卓的apk安裝包。其次就是把證書簽名相關信息設置好,這些信息可以從前面的步驟獲取到。最后就是指定安卓sdk的路徑和上一步獲得的api level了。修改后別忘記保存。
第七步:調用sencha命令生成apk安裝包
到了現在是萬事具備只欠東風了,該如何打包的配置文件在上一步已經完成,我們只需要執行“sencha app build native"命令,如果不出意外的話就能生成對應的apk安裝包了。如果這個過程中出現問題的話,建議仔細查看錯誤輸出提示,往往就是我們上一步的配置文件沒有配置好導致的問題。當然,sencha除了提供“sencha app build native"命令來打包apk安裝包之外,還提供了其他的一些打包方法,但是這里我們先不用管,今后學習的過程中我覺得有必要的話自然會對其進行嘗試然后分享給大家的了。
請看下圖執行sencha打包apk命令的部分輸出信息:
打包好的apk安裝包會保存在示例應用頂層目錄下的build文件夾的相應子目錄下面,具體請看下圖:
第八步:把安裝包安裝到目標機器上并運行
有了該apk安裝包后我們就可以像對待其他普通安裝包一樣,通過"adb install"命令來把該安裝包安裝到目標安卓設備上面了。安裝后該應用的圖標如下所示:
觸按該應用圖標后打開該示例應用,大家可以看到其內容跟前面通過瀏覽器訪問sencha示例應用是一致的:
第九步:驗證應用命名空間和示例應用包名是同一回事
上面的第六步中我們在packager.json這個打包配置文件中把示例應用的命名空間設置為“com.sample.HelloWorld“,當時我跟大家斷言說該命名空間應該就是該安卓應用的包名,這里我們可以通過安卓的”pm list packages"這個專門列出所有安裝包的命令來進行驗證:
從上圖我們可以驗證前面所有的包名和命名空間其實就是同一回事。
| 作者 | 自主博客 | 微信 | CSDN |
| 天地會珠海分舵 | http://techgogogo.com | 服務號:TechGoGoGo 掃描碼:
| http://blog.csdn.net/zhubaitian |
總結
以上是生活随笔為你收集整理的Sencha学习笔记2:打包您的第一个Sencha安卓应用apk安装包的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 暗黑类游戏的设计概念
- 下一篇: 李开复写给女孩子们