react-native开发安卓端app

2024-04-25 22:44

本文主要是介绍react-native开发安卓端app,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

首先说一下我为啥要开发一个rn的app吧,其实就是想试试新技术,然后给我之前的五系统网站做一个适配,只能说感觉rn的资料确实比较少,中间也是遇到了一堆的问题,所以记录一下,后面碰到不会再踩坑。。。

正文

首先就是不得不提的expo了

第一坑:expo

expo在一开始都是很不错的,包括开发环境的整个研发过程都非常舒服(这里提一下我使用的是安卓模拟机,在电脑上的),代码语法啥的其实没有太难到我,和react比较像,唯一值得一提的大概是写样式比较特殊。。。总之,我选择expo的初衷就是,从宏观上来看,Expo是一个免费开源的用于构建React Native(RN)应用的工具链。它提供了一个开发环境和一整套服务,对开发者非常友好,特别是对初学者和中小型项目。而且他还:1.简化了开发流程:你不需要在开发机器上安装任何Android或iOS的SDK。你只需要一个expo开发客户端(在手机或模拟器上安装)就可以预览和测试你的应用。 2. Expo SDK:Expo SDK 提供了许多实用的API。你可以获取设备的硬件信息,接入推送通知服务,使用面部和指纹识别,访问设备的图片、音频、视频等等。 3. Expo Snack:Expo 提供的Snack在线工具使得你可以在Web浏览器中完成开发和测试工作。 4. 发布与更新:Expo 允许你跨过构建过程直接将你的 JS 代码发布到服务器,然后通过链接或者扫描二维码即可在 Expo 客户端中打开应用程序。 总的来说,Expo是一个非常有优势的工具,能在很大程度上帮助开发者简化React Native开发流程、提升开发效率。

总之。理想很丰满,甚至现实在开发环境的时候也很丰满,整个开发流程都非常的顺滑我只能说,知道有一天我写完一个新功能之后,我思考了一下,要不先打个apk试试?

然后就是噩梦的开始:

一开始打包(expo打包很慢,基本要20min左右,我这还是小软件,而且疑似有次数和时间的上限),到expo网站发现打出来的是abb后缀的,给我整懵了,经过查询才发现是谷歌的新的格式,你要是想发表在谷歌商场需要这个格式,然而这个格式似乎不能直接在手机上下载,所以我到配置文件里改成了打包成apk,没问题!这个解决了。

然后,我就把这个打包的apk下载了下来,好家伙一看居然有90mb(对比我之后的成功的apk,只有20多mb),不过我也没多想,当时就是觉得,什么,没问题,这就是我们node_modle的功劳,你们有这么重的东西吗()

直到安装到手机上后,我才发现,他喵的会闪退。。。。这下我其实还没急,毕竟在开发环境跑到还是挺好的,应该可以找到问题所在,于是我开始了到处查找怎么解决问题。。。。在我一一尝试过后,我绝望的发现,都没用。。。。

这下其实我有点急了,毕竟写了三四天的东西,还是花了点心血的,要是就这样夭折,那可真是让人红温

第二坑:原生rn框架

在和expo抗争了一晚上没有解决问题的本人,痛定思痛,直接转向原生的rn框架,然后想办法迁移代码,反正这些代码的语法是通用的嘛,不是大问题。

然后在这里,我为了保险,在初始化完成项目之后就直接吧本地打包了一个apk,好家伙,本地打包不仅速度很快,而且包体也没那么大,然后就是下载到手机上,测试,耶耶耶耶耶,没问题!

那么接下来就是代码迁移部分了,这个其实,改了很多东西,因为我原先很多东西都是用expo框架的玩意,所以得做很多替换,不过,历经一段小修改就成功了!!!!!

最后就是打包部分,然后我在我的手机上安装好了apk-----成功了!!!!

结语

总之,第一次app开发还是颇废了我一番功夫的,可以说红温了很多次,不过好在最终没有夭折。。。

接下来要做点啥好像暂时还没有思路,正在思考我需要点啥中。。。。

这篇关于react-native开发安卓端app的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/935991

相关文章

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

HTML5中的Microdata与历史记录管理详解

《HTML5中的Microdata与历史记录管理详解》Microdata作为HTML5新增的一个特性,它允许开发者在HTML文档中添加更多的语义信息,以便于搜索引擎和浏览器更好地理解页面内容,本文将探... 目录html5中的Mijscrodata与历史记录管理背景简介html5中的Microdata使用M

html5的响应式布局的方法示例详解

《html5的响应式布局的方法示例详解》:本文主要介绍了HTML5中使用媒体查询和Flexbox进行响应式布局的方法,简要介绍了CSSGrid布局的基础知识和如何实现自动换行的网格布局,详细内容请阅读本文,希望能对你有所帮助... 一 使用媒体查询响应式布局        使用的参数@media这是常用的

HTML5表格语法格式详解

《HTML5表格语法格式详解》在HTML语法中,表格主要通过table、tr和td3个标签构成,本文通过实例代码讲解HTML5表格语法格式,感兴趣的朋友一起看看吧... 目录一、表格1.表格语法格式2.表格属性 3.例子二、不规则表格1.跨行2.跨列3.例子一、表格在html语法中,表格主要通过< tab

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

前端CSS Grid 布局示例详解

《前端CSSGrid布局示例详解》CSSGrid是一种二维布局系统,可以同时控制行和列,相比Flex(一维布局),更适合用在整体页面布局或复杂模块结构中,:本文主要介绍前端CSSGri... 目录css Grid 布局详解(通俗易懂版)一、概述二、基础概念三、创建 Grid 容器四、定义网格行和列五、设置行

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

前端下载文件时如何后端返回的文件流一些常见方法

《前端下载文件时如何后端返回的文件流一些常见方法》:本文主要介绍前端下载文件时如何后端返回的文件流一些常见方法,包括使用Blob和URL.createObjectURL创建下载链接,以及处理带有C... 目录1. 使用 Blob 和 URL.createObjectURL 创建下载链接例子:使用 Blob