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

相关文章

Vue项目中Element UI组件未注册的问题原因及解决方法

《Vue项目中ElementUI组件未注册的问题原因及解决方法》在Vue项目中使用ElementUI组件库时,开发者可能会遇到一些常见问题,例如组件未正确注册导致的警告或错误,本文将详细探讨这些问题... 目录引言一、问题背景1.1 错误信息分析1.2 问题原因二、解决方法2.1 全局引入 Element

详解如何在React中执行条件渲染

《详解如何在React中执行条件渲染》在现代Web开发中,React作为一种流行的JavaScript库,为开发者提供了一种高效构建用户界面的方式,条件渲染是React中的一个关键概念,本文将深入探讨... 目录引言什么是条件渲染?基础示例使用逻辑与运算符(&&)使用条件语句列表中的条件渲染总结引言在现代

详解Vue如何使用xlsx库导出Excel文件

《详解Vue如何使用xlsx库导出Excel文件》第三方库xlsx提供了强大的功能来处理Excel文件,它可以简化导出Excel文件这个过程,本文将为大家详细介绍一下它的具体使用,需要的小伙伴可以了解... 目录1. 安装依赖2. 创建vue组件3. 解释代码在Vue.js项目中导出Excel文件,使用第三

Java实现Excel与HTML互转

《Java实现Excel与HTML互转》Excel是一种电子表格格式,而HTM则是一种用于创建网页的标记语言,虽然两者在用途上存在差异,但有时我们需要将数据从一种格式转换为另一种格式,下面我们就来看看... Excel是一种电子表格格式,广泛用于数据处理和分析,而HTM则是一种用于创建网页的标记语言。虽然两

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

VUE动态绑定class类的三种常用方式及适用场景详解

《VUE动态绑定class类的三种常用方式及适用场景详解》文章介绍了在实际开发中动态绑定class的三种常见情况及其解决方案,包括根据不同的返回值渲染不同的class样式、给模块添加基础样式以及根据设... 目录前言1.动态选择class样式(对象添加:情景一)2.动态添加一个class样式(字符串添加:情

macOS怎么轻松更换App图标? Mac电脑图标更换指南

《macOS怎么轻松更换App图标?Mac电脑图标更换指南》想要给你的Mac电脑按照自己的喜好来更换App图标?其实非常简单,只需要两步就能搞定,下面我来详细讲解一下... 虽然 MACOS 的个性化定制选项已经「缩水」,不如早期版本那么丰富,www.chinasem.cn但我们仍然可以按照自己的喜好来更换

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要