如何将第三方 SDK 正确添加到 Cordova 插件?

Posted

技术标签:

【中文标题】如何将第三方 SDK 正确添加到 Cordova 插件?【英文标题】:How to add third party SDK properly to Cordova plugin? 【发布时间】:2020-04-30 05:39:33 【问题描述】:

我正在创建一个自定义 Cordova 插件,目前正尝试将其导入到我的 ionic Cordova 项目中。但是,它总是说我在编译期间找不到 .aar 文件。我遵循了这个答案:Cordova Plugin - Add third party sdk

这是我的插件文件夹结构:

plugin
|--libs
|--src
|----ios
|----android
|------libs
|------sdk.gradle
|--www
|--package.json
|--plugin.xml

这是我的plugin.xml

<platform name="android">
        <framework src="src/android/sdk.gradle" custom="true" type="gradleReference" />    
            <config-file parent="/*" target="res/xml/config.xml">
                <feature name="MationPlugin">
                    <param name="android-package" value="cordova.plugin.custom.MationPlugin" />
                </feature>
            </config-file>
            <config-file parent="/*" target="AndroidManifest.xml"></config-file>
            <source-file src="src/android/MationPlugin.java" target-dir="src/cordova/plugin/custom/MationPlugin" />
            <resource-file src="src/android/libs/library.aar" target="src/android/libs/library.aar" />
</platform>

这是我的sdk.gradle

repositories     
    jcenter()
    flatDir 
        dirs 'libs'
    


dependencies 
    compile(name:'library', ext:'aar')


android 
    packagingOptions 
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
    

这是我在插件测试应用中运行ionic cordova run android 后收到的错误消息。

E:\wamp64\www\fyp\test\pluginTestApp\platforms\android\gradlew: Command failed with exit code 1 Error output:
FAILURE: Build failed with an exception.

* What went wrong:
Could not resolve all files for configuration ':app:debugCompileClasspath'.
> Could not find :library:.
  Required by:
      project :app

【问题讨论】:

【参考方案1】:
 <source-file src="src/android/libs/library.aar" target-dir="libs" />

这对我有用。 基本上对于cordova插件,插件中使用的每个java文件或库都需要在plugin.xml中如上所示。 由于target 而不是target-dir,我以前的plu​​gin.xml 不起作用

【讨论】:

考虑添加关于您的代码如何以及为何解决问题的说明。

以上是关于如何将第三方 SDK 正确添加到 Cordova 插件?的主要内容,如果未能解决你的问题,请参考以下文章

如何将自定义平台添加到 Cordova 或 Phonegap

无法从cordova CLI 将android 平台添加到cordova 项目

将 Java 代码添加到 Cordova Android 应用程序的正确方法是啥?

如何在 cordova phonegap 项目的 libs 文件夹中添加 Paypal-android-sdk?

iOS - 如何在没有第三方网络的情况下添加自己的广告(哪个 SDK?)?

如何使用sdk创建cordova插件