Cordova插件包括Android库(Gradle)
我想在Cordova插件中包含这个Android 库本身由Gradle管理,从Github链接可以看出。该库的开发人员只提供如何在Android Studio项目中使用它,但我想为该库创建Cordova插件包装器,因此我想将其与插件一起使用 我的插件具有以下结构:Cordova插件包括Android库(Gradle),android,cordova,android-gradle-plugin,cordova-plugins,Android,Cordova,Android Gradle Plugin,Cordova Plugins,我想在Cordova插件中包含这个Android 库本身由Gradle管理,从Github链接可以看出。该库的开发人员只提供如何在Android Studio项目中使用它,但我想为该库创建Cordova插件包装器,因此我想将其与插件一起使用 我的插件具有以下结构: -root -plugin.xml -lib -fliclib-android (this is a cloned library from the github link) -src -andr
-root
-plugin.xml
-lib
-fliclib-android (this is a cloned library from the github link)
-src
-android
-MyPlugin.java
-www
-MyPlugin.js
在plugin.xml的内部,我有:
...
<js-module src="www/MyPlugin.js" name="MyPlugin">
<clobbers target="MyPlugin" />
</js-module>
<!-- android -->
<platform name="android">
<config-file target="res/xml/config.xml" parent="/*">
<feature name="MyPlugin">
<param name="android-package" value="com.mypackage.cordova.MyPlugin"/>
</feature>
</config-file>
<source-file src="src/android/MyPlugin.java" target-dir="src/com/mypackage/cordova" />
<framework src="lib/fliclib-android/build.gradle" custom="true" type="gradleReference" />
</platform>
...
。。。
...
我也尝试过:
<framework src="lib/fliclib-android/fliclib/build.gradle" custom="true" type="gradleReference" />
<framework src="lib/fliclib-android/" custom="true" />
<framework src="lib/fliclib-android/fliclib/src/main/" custom="true" />
。。。
我还尝试在lib/fliclib-android/fliclib/src/main
中创建自己的Gradle文件。到目前为止没有运气。当我尝试运行cordova build
过程时,通常会出现一系列错误,表明没有加载库中的类/符号
甚至有可能包括这样的项目吗?如果我可以从Github引用它,那也太好了,但是在docu中我没有找到这样的选项。
或者我必须创建一个aar
文件吗?然后装上它?我还没有尝试过这种选择,但我只想在最后的情况下尝试
谢谢大家! 我采用了不同的方法。有趣的是,我开发了同样的插件,却没有找到你的项目 我的方法是在我的项目中添加一个自定义build.gradle文件。在plugin.xml中,使用framework标记指定build.gradle位置:
<!-- android -->
<platform name="android">
<framework src="src/android/build.gradle" custom="true" type="gradleReference" />
</platform>
它使用Jitpack获取依赖项。它在Cordova上运行得很好,尽管我在构建PhoneGap构建云解决方案时仍然遇到困难
这是我的插件,iOS支持即将推出:
问题是,gradleReference用于指定用于构建项目的gradle引用,它们不提供从gradle添加库的gradle引用。因此,您可以从他们的库中创建一个jar并将其添加到您的项目中,或者将其添加为项目库,但在他们提供reference@jcesarmobile谢谢你的评论。我可能会使用jar或aar文件。还有一件事:有可能自己创建gradle引用吗?也许可以在库文件夹中添加某种.gradle文件?我认为您可以在maven central或jcenter上发布它,这样任何人都可以从那里获取它,但我认为这是开发人员应该做的,而不是您。谢谢你的帮助。问题是,即使是包含库的android项目也是Gradle管理的,他们将库作为一个模块放在那里,所以我不能引用它。我通过创建aar文件来解决这个问题,并将其引用到我的项目中。如果任何人在Flic库或其他方面遇到类似问题,您可以在github上查看我的解决方案:很好,一个。我从未听说过
jitpack
。很高兴我现在这么做了:)我必须感谢您使用AAR文件的方法,我终于用这种方法解决了PhoneGap构建中的问题。
repositories {
maven { url "https://jitpack.io" }
}
dependencies {
compile 'com.github.50ButtonsEach:fliclib-android:ec1cdc3fbe'
}