iOS的问题已得到解决: How to embed framework in capacitor plugin for iOS
对于Android,当我通过创建新模块将aar文件添加到电容器插件时遇到问题。通过npm发布我的电容器插件并将其集成到离子应用程序之后,无法再找到aar库。
答案 0 :(得分:0)
就像在iO上所做的一样,我们实际上在这里做同样的事情。但是,使用Android Studio和gradle代替xcode和cocoapods。 好的,但首先要注意。
发出命令npx @capacitor/cli plugin:generate
时,CLI要做的是启动一个文件夹,其中包含用于iO的可可豆荚和用于Android的gradle插件。您可以在下面的图片中看到它。
发出上述命令后,您生成的插件文件夹中将有一个ios和android文件夹。如果已选中,请打开android studio并选择打开android studio项目的选项,然后选择 android 文件夹以完成此过程。您可以在初始屏幕上选择此选项,如下图所示。
打开项目后,如果一切顺利,您将看到android studio显示这样的屏幕
现在,让我们添加插件文件。为此,请右键单击android java模块,然后选择“打开模块设置”选项,如下图所示。
在打开以下屏幕的情况下,我们需要在此处添加一个包含jar / aar依赖项的模块。为此,只需单击上方显示的+号。
在新模块屏幕上,如果向下滚动,将出现一个“导入.JAR / .AAR包”,如上所示。
然后,找到您的包。结果将如下所示。
单击完成,将出现下一个屏幕。如果没有,请在同一屏幕上单击“应用”按钮。
由于我的模块具有依赖性,因此我将重复本教程的这一部分。
接下来,我们需要添加我们最近添加的模块作为android模块的依赖项。在同一屏幕上,单击“依赖性”选项,然后单击“已声明的依赖性”窗格的加号。
将显示以下屏幕。我们需要选择第三个选项,因为我们早期所做的是添加一个模块。
现在,让我们选择我们的模块。它很简单,只需将其标记并单击确定即可。如前所述,既然必须这样做,我将对其进行检查。
如果这一步顺利进行,那么您现在应该使android模块具有一个以上的依赖关系(在我的情况下为两个)。如下图所示。
点击应用并关闭此窗口。 Gradle将在后台重建您的插件项目,此后,由于我对kotlin的了解更多,所以我将项目转换为kotlin。如果您愿意,可以按照下图所示进行操作,但这不是强制性的。
以上所有步骤正确完成后,您现在可以将您的库导入TestPlugin.kt(如果不使用kotlin,则可以导入.java)。作为参考,下面的图片显示了我的插件的最低实现。
在plugin文件夹中,我们完成了。使用npm打包并安装在您的应用上。
接下来,要使插件正常工作,我们需要在将要使用的应用的MainActivity上添加其类。
现在,要使其正常工作,我不是100%地确定这是正确的方法,但是由于它可以工作,因此我可以这样做。我的方法是通过脚本在应用程序的android模块上添加插件模块。我认为我在gradle插件实现上缺少一些东西,但是因为它可以工作.....
为此,请在您的应用上访问android / settings.gradle文件并附加以下内容:
请注意,根据您所做的更改,settings.gradle文件将被重写。做一个脚本以使信息始终存在,或者在构建之前检查它。
就这样,如果您知道下一步的另一种方法,或者有更好的方法,请发表评论。而且,如果此答案有用,请竖起大拇指,因为此实施完成并工作后,使我有些哭泣(当然是幸福)。