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进行打包。错误直接可以定位到具体的文件,并且易排查!

目录
相关文章
|
3天前
|
IDE Java 开发工具
深入探索安卓应用开发:从环境搭建到第一个"Hello, World!"应用
本文将引导读者完成安卓应用开发的初步入门,包括安装必要的开发工具、配置开发环境、创建第一个简单的安卓项目,以及解释其背后的一些基本概念。通过一步步的指导和解释,本文旨在为安卓开发新手提供一个清晰、易懂的起点,帮助读者顺利地迈出安卓开发的第一步。
175 64
|
3天前
|
存储 Java Android开发
探索安卓应用开发:构建你的第一个"Hello World"应用
【9月更文挑战第24天】在本文中,我们将踏上一段激动人心的旅程,深入安卓应用开发的奥秘。通过一个简单而经典的“Hello World”项目,我们将解锁安卓应用开发的基础概念和步骤。无论你是编程新手还是希望扩展技能的老手,这篇文章都将为你提供一次实操体验。从搭建开发环境到运行你的应用,每一步都清晰易懂,确保你能顺利地迈出安卓开发的第一步。让我们开始吧,探索如何将一行简单的代码转变为一个功能齐全的安卓应用!
|
8天前
|
开发框架 搜索推荐 开发工具
打造个性化安卓应用:从零开始的Flutter之旅
【8月更文挑战第51天】本文是一篇面向初学者的Flutter入门教程,旨在通过简单易懂的语言和实际代码示例,引导读者步入跨平台移动应用开发的世界。文章首先介绍了Flutter的基本概念和优势,然后逐步展示了如何搭建开发环境、创建第一个Flutter应用,并实现了一个简单的待办事项列表。最后,文章探讨了Flutter在实现高性能和美观界面方面的潜力,鼓励读者发挥创意,探索更多可能。
53 15
|
8天前
|
Android开发 开发者
安卓开发中的自定义视图:从入门到精通
【9月更文挑战第19天】在安卓开发的广阔天地中,自定义视图是一块充满魔力的土地。它不仅仅是代码的堆砌,更是艺术与科技的完美结合。通过掌握自定义视图,开发者能够打破常规,创造出独一无二的用户界面。本文将带你走进自定义视图的世界,从基础概念到实战应用,一步步展示如何用代码绘出心中的蓝图。无论你是初学者还是有经验的开发者,这篇文章都将为你打开一扇通往创意和效率的大门。让我们一起探索自定义视图的秘密,将你的应用打造成一件艺术品吧!
31 10
|
2天前
|
存储 开发工具 Android开发
使用.NET MAUI开发第一个安卓APP
【9月更文挑战第24天】使用.NET MAUI开发首个安卓APP需完成以下步骤:首先,安装Visual Studio 2022并勾选“.NET Multi-platform App UI development”工作负载;接着,安装Android SDK。然后,创建新项目时选择“.NET Multi-platform App (MAUI)”模板,并仅针对Android平台进行配置。了解项目结构,包括`.csproj`配置文件、`Properties`配置文件夹、平台特定代码及共享代码等。
|
8天前
|
Java Android开发 UED
🧠Android多线程与异步编程实战!告别卡顿,让应用响应如丝般顺滑!🧵
在Android开发中,为应对复杂应用场景和繁重计算任务,多线程与异步编程成为保证UI流畅性的关键。本文将介绍Android中的多线程基础,包括Thread、Handler、Looper、AsyncTask及ExecutorService等,并通过示例代码展示其实用性。AsyncTask适用于简单后台操作,而ExecutorService则能更好地管理复杂并发任务。合理运用这些技术,可显著提升应用性能和用户体验,避免内存泄漏和线程安全问题,确保UI更新顺畅。
28 5
|
7天前
|
存储 Java Android开发
🔥Android开发大神揭秘:从菜鸟到高手,你的代码为何总是慢人一步?💻
在Android开发中,每位开发者都渴望应用响应迅速、体验流畅。然而,代码执行缓慢却是常见问题。本文将跟随一位大神的脚步,剖析三大典型案例:主线程阻塞导致卡顿、内存泄漏引发性能下降及不合理布局引起的渲染问题,并提供优化方案。通过学习这些技巧,你将能够显著提升应用性能,从新手蜕变为高手。
15 2
|
8天前
|
Java Android开发 C++
🚀Android NDK开发实战!Java与C++混合编程,打造极致性能体验!📊
在Android应用开发中,追求卓越性能是不变的主题。本文介绍如何利用Android NDK(Native Development Kit)结合Java与C++进行混合编程,提升应用性能。从环境搭建到JNI接口设计,再到实战示例,全面展示NDK的优势与应用技巧,助你打造高性能应用。通过具体案例,如计算斐波那契数列,详细讲解Java与C++的协作流程,帮助开发者掌握NDK开发精髓,实现高效计算与硬件交互。
38 1
|
9天前
|
存储 API Android开发
"解锁Android权限迷宫:一场惊心动魄的动态权限请求之旅,让你的应用从平凡跃升至用户心尖的宠儿!"
随着Android系统的更新,权限管理成为应用开发的关键。尤其在Android 6.0(API 级别 23)后,动态权限请求机制的引入提升了用户隐私保护,要求开发者进行更精细的权限管理。
28 2
|
1天前
|
搜索推荐 前端开发 Android开发
安卓开发中的自定义视图:打造个性化用户界面
【9月更文挑战第26天】在移动应用开发的广阔天地中,定制性是提升用户体验的不二法宝。本文将带你深入了解安卓开发中自定义视图的魅力所在,通过简洁明了的语言和直观的代码示例,展示如何从零开始创建属于自己的控件,让你的应用界面与众不同。