本文是作者之前刚接触移动端跨平台开发,使用weex-eros开发项目平日里记下来的一些笔记,分享出来方便为新手解惑,weex-eros是weex的一套解决方法,使用vue语法糖,对于前端开发者来说可以轻松上手,文档如下:
分享一篇入门文章:https://zhuanlan.zhihu.com/p/51302413
由于weex-eros安卓端久久不更新,导致开发过程中安卓端总会有那么些问题,需要大家动动手改改SDK源码,可能需要补充下原生知识了,作者目前已经转战flutter,偶尔会维护一下weex-eros开发的老项目,所以本文也将持续更新...(转载请注明出处https://www.cnblogs.com/akun97/p/weex-eros.html)
针对EROS 2018.10.11 更新的版本:
是个人认为目前最稳定的版本,但是Android方面还是有许多坑:
在android/WeexFrameworkWrapper/app/src/main/AndroidManifest.xml这个文件中,
控制屏幕旋转,需要添加:
android:screenOrientation="user"//用户当前首选方向,如果值是'sensor',关闭屏幕旋转也是会旋转,会根据重力传感器切换。
android:configChanges="orientation|keyboardHidden|screenSize"//配置configChanges为以上配置时,切屏不会重新调用各个生命周期,只会执行
onConfigurationChanged方法。Activity中的数据不会被销毁。
防止键盘挡住输入框,自动将页面上顶,需要添加:
android:windowSoftInputMode="adjustPan"
 

 
点击对话框背景或按返回按钮对话框消失,解决方法:
在Android studio中查找ModalManager.java这个SDK源码文件,将下图圈起来的位置设置为false即可,对应的是setCancelabel(calcel)这个属性。
 
WEEX的Picker模块如果选项多的话会出现默认选项有多个的情况,需要将Picker模块的SDK源码替换成官方github上的最新源码,希望EROS日后更新会同步到。
 
iOS屏幕旋转:
勾选下方圈起来的两个选项即可。
 
EROS本身不支持横屏开发,有时使用内置浏览器<web>组件时,需要横屏就会用到以上屏幕旋转的处理方法,<web>组件相对定位外层父组件时,可以是用fixed相对屏幕定位的按钮来制作成内置浏览器内部的按钮,可以有很好的控制体验。
 
如果有开发多个EROS项目记得要更改包名,避免引起同一台机器不能存在两个项目的情况,
Android修改包名:
 
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依赖了。
 
CocoaPods多个版本切换(EROS推荐1.4.0,因为当前使用的WXDevtool插件(1.5.3)基于1.4.0,个人仅发现此插件有问题):
命令行
gem list --local | grep cocoapods//查看当前电脑所有的CocoaPods版本,效果如下图

pod --version//查看当前系统默认使用CocoaPods版本,效果如下图

gem install bundler//安装Bundler管理CocoaPods版本,可能需要sudo
管理方法
1.到Podfile文件所在目录输入以下命令,创建Bundler的配置文件Gemfile
bundle init
2.将Gemfile文件修改成以下内容,版本号可根据自己的需求修改
3.最终,如果要使用指定的CocoaPods去安装插件只需要在pod命令上加上bundle exec前缀,例如:
bundle exec pod update

WEEX-EROS开发小笔记的更多相关文章

  1. PIE 插件式开发小笔记__PIESDK学习体会

    基于PIE.NET-SDK插件式二次开发文档笔记:  PIE 插件式开发配置文件: 它里面一行如下:      理解上一行'Item'关系->    library:为插件类名(程序集名称+后缀 ...

  2. Angular开发小笔记

    一.父组件怎么覆盖子组件的样式呢 1./deep/(不建议这么做,以后angular会取消,因为这样写不利于组件的独立性) 在父组件的scss里面写: :host{ 子组件名 /deep/ label ...

  3. android studio开发小笔记1

    1.点击空白处隐藏软键盘 /* 隐藏软键盘 * */ public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == ...

  4. 转:【iOS开发每日小笔记(十一)】iOS8更新留下的“坑” NSAttributedString设置下划线 NSUnderlineStyleAttributeName 属性必须为NSNumber

    http://www.bubuko.com/infodetail-382485.html 标签:des   class   style   代码   html   使用   问题   文件   数据 ...

  5. 《C++游戏开发》笔记十一 平滑动画:不再颤抖的小雪花

    本系列文章由七十一雾央编写,转载请注明出处.  http://blog.csdn.net/u011371356/article/details/9430645 作者:七十一雾央 新浪微博:http:/ ...

  6. 【前端】移动端Web开发学习笔记【1】

    下一篇:移动端Web开发学习笔记[2] Part 1: 两篇重要的博客 有两篇翻译过来的博客值得一看: 两个viewport的故事(第一部分) 两个viewport的故事(第二部分) 这两篇博客探讨了 ...

  7. Rest API 开发 学习笔记(转)

    Rest API 开发 学习笔记 概述 REST 从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表示方式.获得这些表徵致使这些应用程序转变了其状态.随着 ...

  8. 《MFC游戏开发》笔记十 游戏中的碰撞检测进阶:地图类型&障碍物判定

    本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9394465 作者:七十一雾央 新浪微博:http:// ...

  9. 《MFC游戏开发》笔记九 游戏中的碰撞判定初步&怪物运动简单AI

    本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9374935 作者:七十一雾央 新浪微博:http:// ...

随机推荐

  1. ps:消除锯齿和羽化

    我们使用椭圆选框工具,分别关闭和打开消除锯齿(也称抗锯齿),创建两个差不多大的正圆形选区,然后填充黑色看看.怎样快速填充黑色还记得吗?先[X]然后[ALT DELETE].填充之后取消选择[CTRL ...

  2. CentOS7 利用systemctl添加自定义系统服务

    一.命令systemctl介绍 CentOS 7.0中已经没有service命令,而是启用了systemctl服务器命令,它实际上将 service 和 chkconfig 这两个命令组合到一起. 命 ...

  3. vant使用中。。。

    微信小程序 没有找到 node_modules 目录 https://blog.csdn.net/u014726163/article/details/82898428 使用有赞的npm包 初始化 n ...

  4. Java中Comparable接口和Comparator接口的简单用法

    对象比较器 1.Comparable接口 此接口强行对实现它的每个类的对象进行整体排序,这种排序成为类的自然排序,类的compareTo方法称为类的自然比较方法. 代码示例 import java.u ...

  5. 【HDOJ6627】equation(模拟)

    题意:给定n,整数序列a和b,整数C,求所有成立的x n<=1e5,1<=a[i]<=1e3,-1e3<=b[i]<=1e3,1<=C<=1e9 思路: 大概 ...

  6. MapGISK9安装

    数据下载 单击SQL-->单击显示SQL语句 单击确定,提示不可识别符号,给字段添加''

  7. 20180822-Java接口

    Java 接口 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过继承接口的方式,从而来继承接口的抽象方法. 接口并 ...

  8. [CSP-S模拟测试]:Park(树上DP)

    题目描述 公园里有$n$个雕像,有$n-1$条道路分别连接其中两个雕像,任意两个雕像可以直接或间接相连.现在每个景点$i$聚集着$P_i$只鸽子,旅行家手里有$v$数量的面包屑. 一旦旅行家在雕像$i ...

  9. Java-package import关键字

    package包关键字,在java中,有包的概念,主要是用来归类 分类作用: 便于项目的开发和维护: 通过分包,可以很清晰的来管理类: 上述 一个类Animal: 在开头有个 package com. ...

  10. EZOJ #393加倍的飞机

    分析 从大到小考虑每个点 记录一个连通块中选了选了几个 如果选的小于siz则直接选否则不选 代码 #include<bits/stdc++.h> using namespace std; ...