当前位置: 首页 > news >正文

NativeScript APP 开发备忘

devtools 调试断开

命令ns debug android可以开启浏览器的调试页面,非常方便。一开始使用功能非常完整,包括元素、日志、代码和网络,后来用着用着,发现元素和网络没了,剩下日志和代码可用,再后来用着用着,连日志和代码都没了,一进入 devtools 就提升已经断开。

后来经同事提醒,把devtools://devtools/bundled/inspector.html?ws=localhost:40000改为devtools://devtools/bundled/inspector.html?ws=127.0.0.1:40000即可,但是元素和网络还是没有回来,不知哪里的问题。

Mac OS 下安装

Electorn 下载卡住了

这跟 win 下安装 npm 依赖还是有点区别的。主要是这个 Electorn,也不知道 ns 为什么会依赖它。下载时候无聊 npm 源还是国内的源都会遇到一个网络请求超时npm error RequestError: read ECONNRESET的问题:

有时还遇到RequestError: connect ETIMEDOUT 20.205.243.166:443,总之就是网络问题,但这在 win 上却却是没有的。后来没辙了,从 win 拷贝 node_module 过来算了。幸好无论 win/mac,node_module 都是一样的。

启动模拟器问题

先启动安卓模拟器,发现报错:Unable to apply changes on device: emulator-5554. Error is: spawn /Users/zhangxin/code/xxx/xxx-app/platforms/android/gradlew EACCES.

原来是没权限,进入目录/Users/zhangxin/code/xxx/xxx-app/platforms/执行下面命令即可:

chmod755android/gradlew

Marketplace 市场

https://market.nativescript.org

模拟器黑屏


在 Android Studio 里面把模拟器还原才行。

真机调试

安卓真机调试

首先开启你手机的“开发者选项”–“USB 调试”。每个厂家的手机设置方式不尽相同,这里不再赘述。


设置成功之后,通过 adb 命令可以查看是否连接成功:

adb devices

使用 NativeScript 的命令亦可:

ns devices android

原生代码调用 NativeScript

NativeScript 代码调用 Java/Kotlin/Swift/Obj-C 代码非常简单粗暴,但是反过来呢?Java/Kotlin/Swift/Obj-C 代码调用NativeScript 代码呢?抱歉~这个没有直接支持,可以说原生程序压根不知道有 ns 寄居于它上面生存,没有一个接口可以让原生程序调用 ns。

不过没有接口,我们就提供一个呗。~这个思路是可行,我们传入一个interface接口让 Java 执行便可。官网有介绍实现 Kotlin and Java 接口的方法。

button.setOnClickListener(newView.OnClickListener(){publicvoidonClick(Viewv){// Perform action on click}});

ns 实现 Java 接口

button.setOnClickListener(newandroid.view.View.OnClickListener({onClick(){// Perform action on click},}),)

安卓编译打包减肥

其实打包一种平台的即可,就是arm64-v8a,老掉牙的armeabi-v7a无须再支持,x86 的份额太小。
减肥后我的 app 从100M减小到37M!

修改build.gradle只保留arm64-v8a,如果没效果就修改platforms\android\app\build.gradle

在NativeScript中接收仓库条码扫描枪的数据

核心的解决方案就是使用Application.android.registerBroadcastReceiver

要在 NativeScript 应用中接收 Android 设备扫描的条码数据,你可以按照如下方式在Android应用程序实例上调用registerBroadcastReceiver方法:

constreceiverCallback=(context:android.content.Context,intent:android.content.Intent)=>{this.articleCode='';this.articleCode=intent.getStringExtra('DATA');// 这里可以使用任何事件总线// 我只是用了自己创建的一个简单的系统设置this.$emit('barcodeScanned',{barcode:this.articleCode});};Application.android.registerBroadcastReceiver('com.android.serial.BARCODEPORT_RECEIVEDDATA_ACTION',receiverCallback);

registerBroadcastReceiver的第一个参数是由设备厂商提供的intent过滤器。我开发的设备来自Seypos公司,他们提供了com.android.serial.BARCODEPORT_RECEIVEDDATA_ACTION这个intent过滤器。

第二个参数是一个回调函数,用来获取扫描到的条码数据,以便在应用程序的其他部分使用。

https://blog.nativescript.org/receive-barcode-from-a-pda-in-ns/

http://www.jsqmd.com/news/675385/

相关文章:

  • GitHub 上的 CI/CD 怎么用?从 GitHub Actions 到一条可上线的流水线
  • 学Simulink——基于Simulink的电机参数在线辨识与自适应控制​
  • 我第一次做 OData 后端服务时,真正绊住我的,不是代码,而是 Cloud Foundry 里的这些基础坑
  • yolov8模型训练MOT20数据集 行人多目标跟踪计数数据集的训练及应用 如何根据mot20数据集 来实现行人目标识别,行人追踪,行人的计数
  • Linux命令:ifconfig
  • 在 Word 中,一个公式就能看出你会不会高效排版
  • LumiPixel Canvas Quest与其他开源模型的对比评测
  • 双链表详解
  • Qianfan-OCR入门指南:如何扩展自定义解析模式(如专利权利要求提取)
  • [力扣 105]二叉树前中后序遍历精讲:原理、实现与二叉树还原
  • 如何让全面战争MOD开发从繁琐变得优雅:RPFM的现代化解决方案
  • OpenClaw Web 界面集成教程|通过网页与你的 AI 智能体对话
  • iFakeLocation:你的iOS虚拟定位终极指南,三分钟学会位置模拟
  • 终极免费开源字体Bebas Neue:如何解决现代设计的标题字体难题
  • 电力设备类输电线路覆冰检测数据集 json格式 2千张
  • 智慧课堂学生专注度分析:基于cv_resnet101_face-detection_cvpr22papermogface 的试点研究
  • RexUniNLU模型安全部署指南:权限控制与数据加密
  • 告别论文内耗!2026 年 10 大 AI 论文工具盘点,本科写作一站式通关
  • Qwen3-VL:30B多场景应用:飞书文档解读、会议纪要生成、截图问答等实战案例
  • 中国汽车工业的全球崛起
  • 5分钟掌握智慧树刷课插件:让网课学习效率翻倍的终极指南
  • tao-8k Embedding模型效果展示:抖音短视频文案语义去重与创意聚类
  • 2026世界迈入AI电影时代:全球首部纯AI生成院线长片《第一大道》开启新纪元
  • Seata和Saga 比较和总结
  • nli-MiniLM2-L6-H768效果展示:真实业务语料下的92.3% NLI准确率案例集
  • nli-MiniLM2-L6-H768入门指南:为什么它不是聊天模型?NLI任务本质与适用边界解析
  • 联想工作站海光P5H 3490cpu,WIN7
  • 哔哩下载姬DownKyi:3分钟掌握B站视频免费下载终极技巧
  • Phi-3.5-mini-instruct效果实测:128K上下文下长文档摘要准确率92.7%
  • 4.19下午及4.20学习内容