0

经过一番研究,我发现了一些关于如何在 Ionic 框架中添加第三方 android 库的信息。显然我们可以在 Ionic 项目中添加和使用 .aar 文件。我的问题是,如果我包含一个 .aar 文件,项目仍然是跨平台的吗?iOS设备可以运行吗?

4

1 回答 1

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,您需要搜索相关框架。

希望这将有助于理解混合应用程序中的所有进出。

有用的链接:

离子原生

如何编写自定义插件?

如何使用cordova自定义插件?

于 2018-07-31T11:07:42.607 回答