android - 如何将第三方 SDK 正确添加到 Cordova 插件?
问题描述
我正在创建一个自定义 Cordova 插件,目前正在尝试将其导入到我的 ionic Cordova 项目中。但是,它总是说我在编译期间找不到 .aar 文件。我遵循了这个答案:Cordova Plugin - 添加第三方 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
解决方案
<source-file src="src/android/libs/library.aar" target-dir="libs" />
这对我有用。基本上对于cordova插件,插件中使用的每个java文件或库都需要在plugin.xml中如上所示。我以前的 plugin.xml 没有工作,因为target
而不是target-dir
推荐阅读
- spring - Spring Boot Pagination 不适用于自定义 DTO 列表
- python-3.x - antlr的python目标中的错误
- python - 如何在 numba 的“@guvectorize”中调用“@guvectorize”?
- javascript - 如何解决滚动问题?
- python - 如何获取文本文件并将其拆分为可用于机器学习分类器的数据?
- sql - 存储过程的应用程序锁
- javascript - 用于一对多聊天的 Mesibo Javascript 弹出窗口集成
- javascript - 动态导入前的条件检查()
- apache-kafka - Kafka Connect - 具有相同 Kafka 集群作为源的连接器?
- javascript - 如果是动态调用(v-bind:src),则不打印图像