经过一番研究,我发现了一些关于如何在 Ionic 框架中添加第三方 android 库的信息。显然我们可以在 Ionic 项目中添加和使用 .aar 文件。我的问题是,如果我包含一个 .aar 文件,项目仍然是跨平台的吗?iOS设备可以运行吗?
1 回答
据我了解,您想使用基本上是用原生 Android/iOS 编写的库。
注意:我们不能直接在 ionic app 中使用原生代码。
那么下一个问题是如何在 Hybrid 应用程序中调用本机代码或库?
要从 Javascript 调用本机代码,我们需要 Cordova 插件,该插件将从混合应用程序 -> 本机代码和本机代码 -> 混合应用程序进行通信。
让我们在 web 视图中构建我们的应用程序,并从 JavaScript 调用本机代码
Cordova 提供了许多默认插件,如下所示:
"cordova-android": "~6.3.0",
"cordova-ios": "^4.5.4",
"cordova-plugin-advanced-http": "^1.9.0",
"cordova-plugin-device": "^1.1.7",
"cordova-plugin-file": "^6.0.1",
"cordova-plugin-inappbrowser": "^1.7.2",
"cordova-plugin-ionic-webview": "^1.1.16",
"cordova-plugin-native-spinner": "^1.1.3",
"cordova-plugin-network-information": "^1.3.4",
"cordova-plugin-proguard": "^1.0.0",
"cordova-plugin-splashscreen": "^4.1.0",
"cordova-plugin-whitelist": "^1.3.3",
"cordova-sqlite-storage": "^2.2.0",
所以这些插件主要用于利用原生应用程序框架,如
对于 SQLite DB 存储,我们使用cordova-sqlite-storage
插件
对于启动画面,我们使用了cordova-plugin-splashscreen
插件等等......
所以下一个问题是什么是 Cordova 插件?
构建 Cordova 插件意味着我们正在编写一些 JavaScript 来调用我们也编写的一些 Native(Obj-c/Swift、Java 等)代码,并将结果返回给我们的 JavaScript。
总结一下:当我们想要在本地做一些还没有 Web API 模拟的事情时,我们会构建一个 Cordova 插件,比如在 iOS 上访问 HealthKit 数据或在 Android 上使用指纹扫描仪。
参考:Max Lynch(中型博客)
所以如果你想使用你的 .aar 文件,你需要构建自定义插件。
此 .aar 文件将用于 Android,对于 iOS,您需要搜索相关框架。
希望这将有助于理解混合应用程序中的所有进出。
有用的链接: