【问题标题】:Add External Jar file in cordova 3.4.0 application在 cordova 3.4.0 应用程序中添加外部 Jar 文件
【发布时间】:2014-04-01 06:27:29
【问题描述】:

我正在为 android 创建两个自定义插件,使用我的 plugin.xml 中描述的这个插件。我的 plugin.xml 文件像

    <?xml version="1.0" encoding="UTF-8"?>
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
    xmlns:android="http://schemas.android.com/apk/res/android"
    id="com.my.mybiometric"
    version="1.2">

    <name>myBiometric</name>
    <description>myBiometric Plugin</description>
    <license>Apache 2.0</license>
    <keywords>media,upload</keywords>

<engines>
    <engine name="cordova-android" version=">=3.4.0" />
</engines>
    <js-module src="www/js/Media2.js" name="Media2">
        <clobbers target="mediaRec.startRecord" /> 
    </js-module>
    <js-module src="www/js/VoiceUpload.js" name="VoiceUpload">
         <clobbers target="VoiceUpload" />
    </js-module>

    <!-- android -->
    <platform name="android">
        <config-file target="res/xml/config.xml" parent="/*">
         <feature name="Media2">
    <param name="android-package" value="com.my.mybiometric.AudioHandler"/>
    </feature>
    <feature name="VoiceUpload">
      <param name="android-package" value="com.my.mybiometric.UploadHandler"/>
    </feature>
        </config-file>
        <config-file target="AndroidManifest.xml" parent="/manifest/application">
        <activity
            android:name="com.my.mybiometric.myBiometric"
            android:label="@string/app_name" 
            android:screenOrientation="portrait"
          android:configChanges="orientation|screenSize|keyboardHidden">
          </activity>
    </config-file>

        <source-file src="platforms/android/src/com/my/plugins/AudioHandler.java" target-dir="src/com/my/mybiometric" />
        <source-file src="platforms/android/src/com/my/plugins/UploadHandler.java" target-dir="src/com/my/mybiometric" />
        <source-file src="platforms/android/src/com/my/plugins/AppLog.java" target-dir="src/com/my/mybiometric" />
        <source-file src="platforms/android/src/com/my/plugins/MyResponseHandler.java" target-dir="src/com/my/mybiometric" />
        <source-file src="platforms/android/src/com/my/plugins/Recorder.java" target-dir="src/com/my/mybiometric" />

        <source-file src="platforms/android/src/com/my/plugins/VoiceBiometricClient.java" target-dir="src/com/my/mybiometric" />
        <source-file src="platforms/android/src/com/my/plugins/VoiceBiometricClientUsage.java" target-dir="src/com/my/mybiometric" />

     </platform>
</plugin>

在构建并运行项目后,media2 插件工作正常,但是当我调用语音上传插件时,它返回“class not found”语音上传错误,我使用的是“android-async-http” -1.4.4.jar”。我将 jar 文件添加到我手动添加的 libs 文件夹中。 如何解决这个问题?

【问题讨论】:

  • @Sid 我无法打印日志。我无权将设备连接到我办公室的系统
  • @Sid 你知道我把外部 jar 文件 cordova 项目放在哪里
  • @Sid 但是我使用 node.js 通过命令行创建了这个项目。如何做到这一点?

标签: java android cordova


【解决方案1】:
  1. 你把你的 jar 文件放在你的插件中的文件夹 platforms/android/src/libs
  2. 在 plugin.xml 中添加该行

    &lt;source-file src="platforms/android/src/libs/android-async-http-1.4.4.jar" target-dir="libs" /&gt;

  3. 没有 3。

【讨论】:

  • 这真的有效吗?我收到一个错误,因为即使我在目录文件夹中指定了路径,cordova 也会从插件目录中的我的 jar 中查找。
  • 您是使用 cli/plugman 安装插件还是直接在 android studio 的 eclipse 中的 java 项目中工作?
  • 我只是使用 cli cordova 插件添加 /path/to/plugin。我收到一个错误:找不到 my-library.jar,因为它在插件目录而不是平台目录中寻找 jar。
  • 谢谢!这对我来说很完美,但我把 JAR 放到了platforms/android/libs 中。当然,在&lt;source file... /&gt; 中更改为src 的路径。
【解决方案2】:

查看我的答案here

您需要转到 Go to Project->Properties 并根据答案进行一些更改。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-04
    • 1970-01-01
    • 2011-09-11
    • 1970-01-01
    • 2020-03-29
    • 2019-10-04
    • 1970-01-01
    相关资源
    最近更新 更多