Android Phonegap 3插件导致生成错误或插件未初始化
让我从一些上下文开始。我有一个Java文件和一个.jar库,其中包含一个带有活动的Android项目、它的布局和另一个jar库。当然,我的插件也有javascript接口。换句话说,这就是我所拥有的:Android Phonegap 3插件导致生成错误或插件未初始化,android,cordova,build,phonegap-plugins,Android,Cordova,Build,Phonegap Plugins,让我从一些上下文开始。我有一个Java文件和一个.jar库,其中包含一个带有活动的Android项目、它的布局和另一个jar库。当然,我的插件也有javascript接口。换句话说,这就是我所拥有的: plugins/com.phonegap.example.activity.plugin/www/myplugin.js plugins/com.phonegap.example.activity.plugin/src/android/MyPlugin.java plugins/com.phone
plugins/com.phonegap.example.activity.plugin/www/myplugin.js
plugins/com.phonegap.example.activity.plugin/src/android/MyPlugin.java
plugins/com.phonegap.example.activity.plugin/src/android/libs/myJar.jar
plugins/plugin.xml
我的插件应该在MyPlugin.java文件中执行一个方法,然后启动myJar.jar文件中的活动。
此插件的plugin.xml如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<plugin xmlns="http://www.phonegap.com/ns/plugins/1.0"
id="com.phonegap.example.activity.plugin"
version="0.1.0">
<name>MyPlugin</name>
<description>Launch an Android Activity from PhoneGap 3</description>
<author>Author</author>
<license>MIT</license>
<keywords>phonegap,activity</keywords>
<js-module src="www/myplugin.js" name="MyPlugin">
<clobbers target="window.MyPlugin" />
</js-module>
<!-- android -->
<platform name="android">
<config-file target="res/xml/config.xml" parent="/*">
<feature name="MyPlugin">
<param name="android-package" value="com.phonegap.example.activity.plugin"/>
</feature>
</config-file>
<config-file target="AndroidManifest.xml" parent="/*">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<activity
android:name="com.phonegap.example.activity.ExampleActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="com.phonegap.example.action.EXAMPLE" />
</intent-filter>
</activity>
</config-file>
<source-file src="src/android/MyPlugin.java" target-dir="src/com/phonegap/example/activity" />
<source-file src="src/android/libs/myJar.jar" target-dir="libs" />
</platform>
</plugin>
这个com.phonegap.example.activity包是在myJar.jar
文件中定义的,因此MyPlugin.java
似乎找不到myJar.jar
文件。
我认为plugin.xml
应该在插件安装过程中正确处理jar文件。这就是如何将其添加到plugin.xml
:
<source-file src="src/android/libs/myJar.jar" target-dir="libs" />
你知道这里有什么问题吗?多亏了道森,问题才得以解决 我运行了cordova build android-d并查看了它的输出。注意到库放错了地方(myPlugin.java找不到myJar.jar),所以我按照Dawson的建议将它们移到了正确的位置
非常感谢 我在构建自己的Android插件时经常遇到这种情况。这很可能是java文件中的编译错误。运行
cordova build android-d
,您将看到大量输出。在那里你应该可以找到编译错误的直接引用。谢谢你,道森。这确实揭示了问题所在。我用运行该命令得到的输出编辑了我的问题。请检查以确保MyJar.jar
位于platforms/android/lib
中,如果没有,请尝试将plugin.xml行更改为
,或者手动将文件放入正确的文件夹中,然后重试。在plugin.xml文件中引用插件中的文件时,假设系统知道在src/PLATFORM
中查找您正在引用的文件。因此,src/android/lib
中的文件需要引用为lib/file\u NAME
<source-file src="src/android/libs/myJar.jar" target-dir="libs" />