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
复制代码
相关文章
相关标签/搜索