- 版本: 8.6.3
- GitHub: https://github.com/NativeScript/android
- NPM: https://npmjs.net.cn/package/%40akylas%2Fnativescript-android-runtime
- 下载
- 昨日: 2
- 上周: 12
- 上个月: 63
NativeScript的Android运行时
包含NativeScript的Android运行时的源代码。NativeScript是一个框架,它允许开发者使用JavaScript和CSS编写真正本地的移动应用程序,适用于Android和iOS。每个移动平台都有自己的生态系统,并提供了完全不同的开发工具和语言 - Java适用于Android,Objective C(Swift)适用于iOS。为了将JavaScript代码转换为相应的本地API,需要某种代理机制。这正是NativeScript的"运行时"部分负责的内容。Android运行时可以被视为JavaScript和Android世界之间的“桥梁”。Android的NativeScript应用程序是一个标准的本地包(apk),除了JavaScript文件外,还嵌入运行时。
附加文档
一些Wiki页面描述了有关运行时的内部主题这里
主要项目
该存储库按以下项目结构(按依赖关系排序)
- android-metadata-generator - 生成Android运行时所需的元数据。
- android-binding-generator - 允许在运行时动态创建Java和Android类型。由
extend
例程需要。 - android-runtime - 包含NativeScript的Android运行时的核心逻辑。该项目包含原生C++代码,需要Android NDK才能正确构建。
- android-runtime-testapp - 这是一个普通的Android应用程序,其中包含运行时项目的测试。
辅助项目
- android-static-binding-generator - 根据用户的JavaScript代码生成绑定的构建工具。
- project-template - 这是一个空的占位符Android应用程序项目,由NativeScript CLI在构建Android项目时使用。
架构图
NativeScript Android运行时架构可以总结如下所示。
有关更多详细信息,请参阅文档。
构建先决条件
以下是在构建运行时包时的最小先决条件。
- 安装最新的Android Studio。
- 从SDK Manager(Android Studio -> 工具 -> Android -> SDK Manager)安装以下组件
- Android API级别23、24、25、26、27
- Android NDK
- Android支持存储库
- 下载构建工具
- CMake
- LLDB
- 克隆此存储库以及子模块:
git clone --recurse-submodules [email protected]:NativeScript/android-runtime.git
在Android Studio中与运行时一起工作
- 在Android Studio中打开test-app文件夹。它代表一个有效的Android项目,您可以从源代码构建和运行与Runtime一起工作的测试应用程序。
注意:您可能需要从命令行运行Android Studio以保留环境变量。如果您以常规方式启动Studio,可能会出现“缺少npm”等错误。
如何构建
-
从NPM安装依赖项
cd test-app/build-tools/jsparser
npm install -
设置环境变量
JAVA_HOME
应指向您的Java可执行文件,即$JAVA_HOME/bin/java
ANDROID_HOME
应指向您安装Android SDK的位置ANDROID_NDK_HOME
应指向为NativeScript此版本所需的Android NDK版本
-
运行命令
Windows
gradlew
Mac/Linux
./gradlew
-
构建过程包括构建运行时包(优化版和未剥离的v8符号表版),以及所有用于Android构建的辅助工具:metadata-generator、binding-generator、metadata-generator、static-binding-generator
-
构建的结果将在dist文件夹中。
注意:
要将构建时间减半并仅打包优化(剥离)版本的运行时包,请在 build.gradle 脚本中注释掉 'tasks.generateRuntimeAar.execute()'
如何运行测试
-
构建运行时后,进入test-app子文件夹。
-
启动模拟器或连接设备。
注意:请记住,设备或模拟器需要挂载sdcard。
-
运行命令
gradlew runtests
如何连接检查器
- 安装依赖项:运行命令
cd test-app
npm install
- 在Android Studio中运行测试应用程序,或在模拟器中手动运行。
- 运行命令
npx ns debug android --start
(如果您已全局安装了 nativescript
NPM模块,则可以省略 npm install
和 npx
前缀。)
- 这将打印出一个URL,例如
devtools://devtools/bundled/inspector.html?ws=localhost:40000
。在Chrome或Chromium中打开此URL。
贡献
我们喜欢PRs!请查看贡献指南。如果您想贡献,但不确定从哪里开始,请寻找标记为 help wanted
的问题。
其他
获取帮助
请严格使用 github issues 来 报告错误 或 请求新功能。对于一般问题和支持,请查看 Stack Overflow 或在我们的 NativeScript社区Slack频道 中向我们的专家提问。