weex在运行上遇到的坑

简介: weex在运行上遇到的坑

创建weex项目


注意:如果运行命令的时候遇到permission权限问题的话,记得在命令前面加上sudo


$ weexpack create  appName
复制代码

下载安装依赖包

$ cd appName && npm install
复制代码

ios

$ weexpack platform add ios
复制代码

android

$ weexpack platform add android
复制代码

web



$ npm run build //web工程打包
$ npm run dev & npm run serve 
复制代码

ios



weex run ios 或者 weexpack run ios 
复制代码

android



weex run android 或者 weexpack run android
复制代码

android的坑



  1. 首先就是环境变量的问题,环境是mac,环境变量没配置好的话,会报Enviroment variable $ANDROID_HOME not found!错误,解决方案就是打开根目录的.bash_profile文件,配置一下环境变量,配置好之后,记得退出terminal,重新打开运行


#我的sdk路径是/Users/mac/Library/Android/sdk
export ANDROID_HOME=/Users/mac/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
复制代码
  1. 运行当中,有时候会报错Failed to find Build Tools revision 26.0.0错误,这个是sdk的构建工具没有这个版本,weex不会自动给我们去下载,我们可以打开weex项目的app的build.gradle,重新设置一个我们项目有的一个版本,比如可以参考其他android项目下哪个版本有的,supportLibrary的版本如果遇到错误的话,可以按照这个方式一样进行设置


  1. 报下面这种错误的话,是因为dependens远程库的时候,网络不好没有下载下来,可以尝试在此运行项目可以解决


android:app:unspecified
      > Could not resolve com.taobao.android:weex_sdk:0.16.0.
         > Could not get resource 'https://jcenter.bintray.com/com/taobao/android/weex_sdk/0.16.0/weex_sdk-0.16.0.pom'.
            > Could not GET 'https://jcenter.bintray.com/com/taobao/android/weex_sdk/0.16.0/weex_sdk-0.16.0.pom'.
复制代码

ios的坑



用xcode打开项目,项目目录如下


platfroms-ios-WeexDemo.xcodeproj
复制代码


运行项目的时候会报错


'WeexSDK/WeexSDK.h' file not found
复制代码


这是因为依赖库没有下载下来,我们可以查看Podfile文件,需要下载哪些库,检查cocoapods是否被下载,由于没有做过ios开发,需要对ios的环境稍微配置一下


1、安装cocoapods

sudo gem install -n /usr/local/bin cocoapods
复制代码


gem安装如果慢的话,可以更改下载源,使用命令gem sources -l查看当前gem的下载源,默认源是https://rubygems.org/,我们先将这个下载源移除gem sources --remove https://rubygems.org/,跟换一个淘宝的源镜像地址gem sources -a https://ruby.taobao.org/


2、pod install

cd到ios项目的根目录,使用pod install来安装依赖库,如果是第一次使用的话,pod会去github下载Specs,如果没科学上网的话,下载会非常的缓慢,有时候,即使科学上网,下载到100%,最后也会报ssl错误,我的解决办法是,代理git方案,我的代理工具是socks,socks应用程序默认的端口是1080,大家可以自己查阅是多少,使用命令


#这条命令代理了git下载远程库的时候,全部走socks代理,即为全局
git config --global http.proxy socks5://127.0.0.1:1080
#自动代理模式,国内的默认,github的走代理
git config --global http.https://github.com.proxy socks5://127.0.0.1:1080
#移除代理
git config --global --unset http.https://github.com.proxy
复制代码


下载速度非常快,pod install安装完成后,可以看到Pods文件夹下面下载的库,xcode打开项目,使用命令command+B命令重新编译运行,ok,可以运行

目录
相关文章
|
7天前
|
缓存 JavaScript API
Flutter&鸿蒙next 状态管理框架对比分析
在 Flutter 开发中,状态管理至关重要,直接影响应用的性能和可维护性。本文对比分析了常见的状态管理框架,包括 setState()、InheritedWidget、Provider、Riverpod、Bloc 和 GetX,详细介绍了它们的优缺点及适用场景,并提供了 Provider 的示例代码。选择合适的状态管理框架需考虑应用复杂度、团队熟悉程度和性能要求。
74 0
|
4月前
|
Dart 开发工具 Android开发
快速集成 Flutter Shorebird 热更新
Flutter Shorebird 是一种云端代码推送服务,可以让开发者在几分钟内集成,无需修改代码即可将更新推送到任何 Dart 代码,支持所有 Android 和 iOS 设备,并符合 App Store 和 Play Store 的规定。Shorebird 最大的优点是无代码侵入,快速集成,设计优秀。
169 2
快速集成 Flutter Shorebird 热更新
|
6月前
|
Dart 前端开发 Android开发
【Flutter前端技术开发专栏】Flutter与原生代码的集成与交互
【4月更文挑战第30天】本文探讨了如何在Flutter中集成和交互原生代码,以利用特定平台的API和库。当需要访问如蓝牙、特定支付SDK或复杂动画时,集成原生代码能提升效率和性能。集成方法包括:使用Platform Channel进行通信,借助现有Flutter插件,以及Android和iOS的Embedding。文中通过一个电池信息获取的例子展示了如何使用`MethodChannel`在Dart和原生代码间传递调用。这些技术使开发者能充分利用原生功能,加速开发进程。
104 0
【Flutter前端技术开发专栏】Flutter与原生代码的集成与交互
|
存储 Dart 前端开发
原来Flutter代码是这样运行在原生系统的!快来了解Flutter标准模板,感受原生系统中Flutter的魅力!
原来Flutter代码是这样运行在原生系统的!快来了解Flutter标准模板,感受原生系统中Flutter的魅力!
85 0
weex-安装weex-toolkit一直失败的问题
weex-安装weex-toolkit一直失败的问题
275 0
|
Dart Android开发
Flutter 之原生混合开发
Flutter 之原生混合开发
478 0
Flutter 之原生混合开发
|
前端开发 开发工具 Android开发
使用expo在安卓模拟器中运行React Native程序
看完这篇教程你会学到如何在安卓模拟器里运行一个React Native程序。 我的电脑及软件环境 系统: windows10 64 Node:8.5.0 然后安装下面的工具,不分先后。
2806 0
|
移动开发 前端开发 rax
weex开发android应用
weex使用简要介绍
492 0
weex开发android应用
|
Android开发
【Flutter】Flutter 混合开发 ( 混合开发中 Flutter 的 热重启 / 热加载 )(二)
【Flutter】Flutter 混合开发 ( 混合开发中 Flutter 的 热重启 / 热加载 )(二)
438 0
【Flutter】Flutter 混合开发 ( 混合开发中 Flutter 的 热重启 / 热加载 )(二)
|
Dart Android开发 iOS开发
【Flutter】Flutter 混合开发 ( 混合开发中 Flutter 的 热重启 / 热加载 )(一)
【Flutter】Flutter 混合开发 ( 混合开发中 Flutter 的 热重启 / 热加载 )(一)
407 0
【Flutter】Flutter 混合开发 ( 混合开发中 Flutter 的 热重启 / 热加载 )(一)