[英]Cordova Plugin include Android Library (Gradle)
我想將這個Android 庫包含在Cordova插件中。
如Github鏈接所示,該庫本身由Gradle管理。 該庫的開發人員僅提供如何在Android Studio項目中使用它的指南 ,但是我想為此庫創建Cordova插件包裝,因此我想將其包括在插件中。
我的插件具有以下結構:
-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引用它,那也很好,但是在文檔中我沒有找到這樣的選擇。 還是我必須創建一個aar
文件? 並加載嗎? 我沒有嘗試過該選項,但是我只想在萬不得已的情況下嘗試。
謝謝!
我采用了不同的方法。 有趣的是,我開發了完全相同的插件,卻沒有找到您的項目!
我的方法是在項目中添加一個自定義的build.gradle文件。 在plugin.xml中,使用framework標記指定build.gradle的位置:
<!-- android -->
<platform name="android">
<framework src="src/android/build.gradle" custom="true" type="gradleReference" />
</platform>
然后,build.gradle的內容如下:
repositories {
maven { url "https://jitpack.io" }
}
dependencies {
compile 'com.github.50ButtonsEach:fliclib-android:ec1cdc3fbe'
}
它使用Jitpack來獲取依賴項。 盡管我在使用PhoneGap Build雲解決方案構建時仍然遇到困難,但在Cordova上運行良好。
這是我的插件,iOS支持正在進行中:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.