weex源码编译踩坑记录
前言
在gradle声明依赖,sync的时候依赖一直拉不下来,提示Fail to resolve: org.apache.weex:sdk:0.28.0
,尝试过换阿里云镜像、走梯子,依然无法获取到依赖。
编译过程
- 获取源码
准备安卓环境,最终sync通过的环境
gradle 6.5
classpath 'com.android.tools.build:gradle:4.1.1'
ndk.dir=D\:\\Android\\Sdk\\ndk-bundle
gradle配置踩坑
- buildSrc/packageName.gradle文件注释掉以下代码,不注释会提示task无法创建
- buildSrc/jcenter.gradle文件,对应节点修改为以下配置
- 在命令行编译没有问题,如果在android studio编译会提示
Merged dex is null. We tried to merge 0 DEX files
、Unable to merge dex
,需要在sdk模块的gradle配置添加依赖。
cpp踩坑
- 编译报错
'assert' : undeclared identifier
,在cpp文件中添加包含,需要修改的文件:js_runtime/weex/task/back_to_weex_core_queue.cpp
、js_runtime/weex/task/timer_queue.cpp
、js_runtime/weex/task/weex_task_queue.cpp
。注意,这些文件都是在weex-master项目根目录下的weex_core/Source
目录中修改,而不是修改android项目的cpp文件。
- 编译报错
编译出来的aar包名是
com.taobao.weex
总结
根据报错,找到报错行,判断是否影响实际功能,如果不影响则可以直接注释掉。
weex源码编译踩坑记录
http://blog.icy8.cn/posts/1853495173/