weex开发android应用

简介: weex使用简要介绍

weex

Android环境构建

前期准备

  • 安装JDK(version >= 1.7)并配置环境变量(JAVA_HOME)
  • 安装Android SDK 并配置环境变量(ANDROID_HOME)
  • Android SDK version 23 (compileSdkVersion in build.gradle)
  • SDK build tools version 23.0.1 (buildToolsVersion in build.gradle)
  • Android Support Repository >= 17 (for Android Support Library)

JDK下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/index.html

Android Studio下载地址:

https://developer.android.com/studio/install.html

环境变量配置:

1. JAVA环境变量设置:

// Jdk 是java development kit,是java的开发工具包

新建系统变量JAVA_HOME:C:\Program Files(x86)\Java\jdk1.8.0_144

// Jre 是java runtime environment, 是java程序的运行环境

新建JRE_HOME系统变量:C:\Program Files (x86)\Java\jre1.8.0_144

// 指定类搜索路径

新建CLASSPATH系统变量:.;%JAVA_HOME%\lib;%JRE_HOME%\lib

PATH系统变量里添加:.;%JAVA_HOME%\bin;%JRE_HOME%\bin

2. Android环境变量配置

新建系统变量ANDROID_HOME -> D:\Android-sdk\

PATH系统变量里添加:D:\Android-sdk\platforms;D:\Android-sdk\platform-tools

weex简介

Weex 是一个使用 Web 开发体验来开发高性能原生应用的框架。

Weex优点

  1. 在Ios和Android上都实现了一个渲染引擎,并提供了一套基础的内置组件,渲染出来的都是原生组件
  2. 提供了一套基础的内置模块,可以通过这些模块来调用一些原生方法
  3. 编写一次代码,三端共用(Web, Android, Ios)
  4. Weex将Vue, Rax作为其内置的前段框架(Vue.js, Rax都已经集成了Weex SDK, 你不需要再额外引用)

Weex使用

  1. 安装全局的weex-toolkit, 这条命令会在命令行环境中注册一个weex命令或者安装全局的weexpack
npm install weex-toolkit -g || npm install weexpack -g
  1. 使用weex或者weexpack命令创建一个模板项目
weex create template-app || weexpack create template-app
  1. 添加特定平台, Android 或者 Ios
weex platform add ios || weex platform add android
    
weexpack platform add ios || weexpack platform add android
  1. 在虚拟机上或者真机上调试项目
weex run ios || weex run android || weex run web

weexpack run ios || weexpack run android || weexpack run web
  1. 打包Apk文件
weex build android || weex build ios

weexpack build android || weexpack build ios

Weex使用问题

一、样式问题
1. 不支持简写,类似margin: 1px 1px 1px 1px; 是不支持的

2. Android下的view标签是有白色默认颜色的, Ios则无

3. weex使用750 * 1334 作为适配尺寸, 实际渲染时由于浮点数的误差可能会存在几个px的误差,出现细线等样式问题,可通过加减几个px来解决

4. css嵌套的写法会导致样式失效,即使使用了预处理器

5. box-shadow仅支持ios

6. 只支持px写法

7. 在weex中,flexbox是唯一的布局模式,所以你不需要手动添加display: flex

8. weex不支持z-index设置元素层级关系,但靠后的元素层级更高

9. 不支持percentage单位,如50%
二、本地开发问题
1. 快速启动项目后,会自动在浏览器上打开项目地址,但是windows用户可能无法自动打开,究其原因是链接地址后面有一个字符'|',使得open插件执行异常;
        
解决办法:手动打开地址或者将'|'更改为运行系统能识别的字符,例如'%'等等
三、虚拟机问题
1. Android虚拟机安装完成后无法打开,问题可能是你电脑BIOS设置中的Inter Virtual Technology 没有打开,进入BIOS中将其打开即可
四、打包APK文件问题
前提:升级到 Android Gradle-Plugin 3.0 + Gradle 4.0 

1. Warning:Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'

    app -> build -> build.gradle ->将compile替换为api即可,换成api后记得加入javaCompileOptions配置,否则就会出现2中所示问题

2. Annotation processors must be explicitly declared now

    app -> build -> build.gradle -> defaultConifg中加入 javaCompileOptions { annotationProcessorOptions { includeCompileClasspath = true } }

3. Cannot set the value of read-only property 'outputFile' for ApkVariantOutputImpl_Decorated{apkData=Main{type=MAIN, fullName=debug, filters=[]}} of type com.android.build.gradle.internal.api.ApkVariantOutputImpl.

    原来用来重命名打包后的apk方法不能用了,使用如下方法即可

    app -> build -> build.gradle -> 
    
     applicationVariants.all { variant ->
        variant.outputs.all {
            outputFileName = "weex-test.apk"
        }
    }

建议:如果使用weex打包出现问题,找不到原因,可以使用android studio进行打包。错误直接可以定位到具体的文件,并且易排查!

目录
相关文章
|
5月前
|
存储 Android开发
如何查看Flutter应用在Android设备上已被撤销的权限?
如何查看Flutter应用在Android设备上已被撤销的权限?
269 64
|
9天前
|
开发工具 Android开发
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
148 11
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
|
19天前
|
Java 开发工具 Maven
【01】完整的安卓二次商业实战-详细的初级步骤同步项目和gradle配置以及开发思路-优雅草伊凡
【01】完整的安卓二次商业实战-详细的初级步骤同步项目和gradle配置以及开发思路-优雅草伊凡
78 6
|
2月前
|
安全 数据库 Android开发
在Android开发中实现两个Intent跳转及数据交换的方法
总结上述内容,在Android开发中,Intent不仅是活动跳转的桥梁,也是两个活动之间进行数据交换的媒介。运用Intent传递数据时需注意数据类型、传输大小限制以及安全性问题的处理,以确保应用的健壯性和安全性。
170 11
|
2月前
|
移动开发 Java 编译器
Kotlin与Jetpack Compose:Android开发生态的演进与架构思考
本文从资深Android工程师视角深入分析Kotlin与Jetpack Compose在Android系统中的技术定位。Kotlin通过空安全、协程等特性解决了Java在移动开发中的痛点,成为Android官方首选语言。Jetpack Compose则引入声明式UI范式,通过重组机制实现高效UI更新。两者结合不仅提升开发效率,更为跨平台战略和现代架构模式提供技术基础,代表了Android开发生态的根本性演进。
109 0
|
6月前
|
JavaScript Linux 网络安全
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
1316 77
|
3月前
|
安全 Java Android开发
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
182 0
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
|
7月前
|
安全 Android开发 iOS开发
escrcpy:【技术党必看】Android开发,Escrcpy 让你无线投屏新体验!图形界面掌控 Android,30-120fps 超流畅!🔥
escrcpy 是一款基于 Scrcpy 的开源项目,使用 Electron 构建,提供图形化界面来显示和控制 Android 设备。它支持 USB 和 Wi-Fi 连接,帧率可达 30-120fps,延迟低至 35-70ms,启动迅速且画质清晰。escrcpy 拥有丰富的功能,包括自动化任务、多设备管理、反向网络共享、批量操作等,无需注册账号或广告干扰。适用于游戏直播、办公协作和教育演示等多种场景,是一款轻量级、高性能的 Android 控制工具。
543 1
|
存储 Java 开发工具
Android开发的技术与开发流程
Android开发的技术与开发流程
575 1
|
安全 Android开发 Swift
安卓与iOS开发:平台差异与技术选择
【8月更文挑战第26天】 在移动应用开发的广阔天地中,安卓和iOS两大平台各占一方。本文旨在探索这两个系统在开发过程中的不同之处,并分析开发者如何根据项目需求选择合适的技术栈。通过深入浅出的对比,我们将揭示各自平台的优势与挑战,帮助开发者做出更明智的决策。
218 5

热门文章

最新文章