问题
构建后,我的 NativeScript (NS) 应用程序在我的 Android 手机上成功运行;但是,当我尝试在NS developer app上运行它时,它会崩溃,大概是因为找不到依赖项。
该文档提到了一个自定义 npm 模块列表,您可以通过将它们作为依赖项添加到package.json
. 我假设不可能使用 NS 开发人员应用程序来测试依赖于其他模块(未在该列表中定义)的项目,我是否正确?
如果不是,是什么导致了这个问题?
可能相关
这个问题看起来可能是相关的;但是,即使他们直接在设备上运行,使用tns run
. 我的问题只能在 NativeScript 开发者应用中重现。
动机
我想在配套应用程序中运行它的原因是因为我需要在同事的 iPhone 上运行它,而且我不想为 Apple 帐户付费或经历设置 Ad-Hoc 配置文件的麻烦并一一添加同事的设备。
由于我没有 iPhone,我正在使用我的 Android 手机测试部署到配套应用程序的过程。
重现步骤
根据本指南,该项目最初创建如下。根据此处nativescript-floatingactionbutton
的文档添加了依赖项。
tns create Mcve --template typescript
cd Mcve/
tns platform add android
npm install --save nativescript-floatingactionbutton
这是代码。请注意,在构建此 MCVE 时,它可能会抱怨图标资源不存在,但这不太可能是问题的原因。
<!-- main-page.xml -->
<Page xmlns="http://schemas.nativescript.org/tns.xsd"
xmlns:FAB="nativescript-floatingactionbutton">
<StackLayout>
<FAB:fab icon="res://ic_add_white" rippleColor="#f1f1f1" class="fab-button" />
</StackLayout>
</Page>
/* app.css */
.fab-button {
height: 70;
margin: 15;
background-color: #ff4081;
horizontal-align: right;
vertical-align: bottom;
}
此时,我使用以下命令将项目添加到 appbuilder:
appbuilder init
如果我按以下方式构建项目,它将按预期运行:
appbuilder build android
但是,如果我尝试将它部署到我的配套应用程序,它会崩溃:
appbuilder build android --companion
我不知道如何将调用堆栈提取为纯文本,但这是我的 NS 配套应用程序的屏幕截图:
我的设置
- 开发机器:Windows 10 Pro,64位
- Android 手机:ALE-L21 华为运行 Android 5.0.1。它同时安装了 Telerik 配套应用和 NativeScript 开发者应用。
- nativeScript 版本 2.3.0
- 应用程序生成器版本 3.5.2
- nativescript-floatingactionbutton 版本 2.2.5