Weex開發之WEEX-EROS常見問題

隨着Weex跨平臺技術的持續火熱,一時間涌現出了一大批基於Weex的開源解決方案,Weex Eros就是這麼一個面向前端Vue的開源APP解決方案。 目前,若是直接使用Weex框架開發應用會存在不少痛點,諸如初始化啓動的環境問題、項目工程化問題、版本升級與版本兼容問題和不支持增量更新等,而Weex Eros等開源解決方案能對上述問題進行有效的解決。 Weex Eros的定位不是組件庫,而是基於Weex封裝的面向前端Vue的一整套APP開源解決方案,它關心的是整個APP項目。在Weex的強大支持下,用一份Vue代碼便可編譯出iOS、Android兩端原生的app,而且經過Weex Eros內置的熱更新邏輯和開源的服務器邏輯,開發的APP還具備熱更新能力。html

weex-eros是weex的一套解決方法,使用vue語法糖,對於前端開發者來講能夠輕鬆上手,文檔以下:前端

因爲weex-eros安卓端久久不更新,致使開發過程當中安卓端總會有那麼些問題,須要你們動動手改改SDK源碼,可能須要對原生知識進行補充或者定製開發。vue

本文針對EROS 2018.10.11 更新的版本進行的介紹,原文連接:WEEX-EROS開發小筆記java

1,屏幕旋轉問題

在android/WeexFrameworkWrapper/app/src/main/AndroidManifest.xml這個文件中, 控制屏幕旋轉,須要添加:android

android:screenOrientation="user"
android:configChanges="orientation|keyboardHidden|screenSize"
複製代碼
  • screenOrientation表示用戶當前首選方向,若是值是'sensor',關閉屏幕旋轉也是會旋轉,會根據重力傳感器切換。
  • configChanges用於配置橫豎片切換,配置configChanges爲以上配置時,切屏不會從新調用各個生命週期,只會執行onConfigurationChanged方法,Activity中的數據不會被銷燬。

2,鍵盤擋住輸入框問題

防止鍵盤擋住輸入框,自動將頁面上頂,須要添加以下配置:ios

android:windowSoftInputMode="adjustPan"
複製代碼

具體能夠參考下圖: git

在這裏插入圖片描述
參考資料: blog.csdn.net/u010005281/…

3,點擊對話框背景或按返回按鈕對話框消失

使用Android studio打開WEEX-EROS的Android源碼,而後再源碼中查找ModalManager.java這個SDK源碼文件,將下圖圈起來的位置設置爲false便可,對應的是setCancelabel(calcel)這個屬性。 github

在這裏插入圖片描述
參考資料: www.cnblogs.com/howlaa/p/41…

WEEX的Picker模塊若是選項多的話會出現默認選項有多個的狀況,須要將Picker模塊的SDK源碼替換成官方github上的最新源碼,官方github源碼地址apache

4,iOS屏幕旋轉

EROS自己是不支持橫屏開發的,若是要進行橫屏開發,能夠勾選Landscape Left和Landscape Right兩個選項,以下圖。 bash

在這裏插入圖片描述
參考資料: www.jianshu.com/p/e0e6b5493…

5, 修改包名

修改原生Android工程包名

原生Android工程在打包的時候須要修改Android原生工程的包名,對於WEEX-EROS項目來講,只須要修改Android的gradle.properties的APPLICATION_ID便可。

在這裏插入圖片描述

修改原生iOS工程包名

iOS原生的包名比較好修改,以下圖:

在這裏插入圖片描述
另外,Android修改完SDK源碼後須要對文件夾作修改才能夠提交到git上,否則修改完沒提交到git,下次拉下來,從新安裝Android依賴就白改了,打開文件夾下的.gitignore文件,刪除wxframework和sdk,而後添加以下配置:

# eros 
platforms/android/WeexFrameworkWrapper/app/src/main/assets/bundle.zip 
platforms/android/WeexFrameworkWrapper/app/src/main/assets/bundle.config
platforms/ios/WeexEros/WeexEros/bundle.zip 
platforms/ios/WeexEros/WeexEros/bundle.config
!.gitkeep
ip.txt
複製代碼

而後分別進入platforms/WeexFrameworkWrapper/nexus、platforms/WeexFrameworkWrapper/wxframework文件夾下執行rm -rf .git清除本來的git信息,以後就能夠將Android的源碼提交到git倉庫裏了,以後拉下來不用再安裝Android依賴了。

6, CocoaPods多個版本切換問題

EROS推薦1.4.0,由於當前使用的WXDevtool插件(1.5.3)基於1.4.0,我的僅發現此插件有問題,能夠使用以下的版原本查看本地的CocoaPods版本。

gem list --local | grep cocoapods
複製代碼

在這裏插入圖片描述
而後,能夠使用下面的命令來查看當前系統默認使用CocoaPods版本。

pod --version
複製代碼

若是涉及多個CocoaPods版本,那麼怎麼管理CocoaPods呢?此時,咱們須要安裝一個Bundler管理工具。

gem install bundler
複製代碼

使用方法

1.到Podfile文件所在目錄輸入如下命令,建立Bundler的配置文件Gemfile。

bundle init
複製代碼

2.將Gemfile文件修改爲如下內容,版本號可根據本身的需求修改。

在這裏插入圖片描述
3.最終,若是要使用指定的CocoaPods去安裝插件只須要在pod命令上加上bundle exec前綴。

bundle exec pod update
複製代碼
相關文章
相關標籤/搜索