phonegap类找不到文件:///android_asset/www/cordova-2.0.0.js:938

imi*_*min 8 android cordova

我尝试使用此插件并按照readme.md文件中给出的说明进行操作.

1)这是我的html文件

<!DOCTYPE HTML>
<html>
<head>
    <title>TryMakan Video</title>
    <link rel="stylesheet" href="style.css" />
<script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script>
    <script type="text/javascript" charset="utf-8" src="video.js"></script>
    <script type="text/javascript">
function playVideo(){
            window.plugins.videoPlayer.play("http://www.trymakan.my/wp-content/uploads/2011/09/NASI-AYAM-BEREMPAH-KAJANG.mp4");
        }
 </script>
</head> <body>
<a href="#" onClick="playVideo();">play</a>
</body></html>
Run Code Online (Sandbox Code Playgroud)

2)这是我的plugins.xml,它位于xml文件夹中

<?xml version="1.0" encoding="utf-8"?>
<plugins>
    <plugin name="VideoPlayer" value="com.phonegap.plugins.video.VideoPlayer"/>
</plugins>
Run Code Online (Sandbox Code Playgroud)

3)我还将VideoPlayer.java复制到此文件夹src\com\phonegap\plugins\video

4)另外,有人说我还需要将插件添加到AndroidManifest.xml文件中,所以这是它的一个片段

<application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale"
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <action android:name="com.phonegap.plugins.video.VideoPlayer"/>
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
Run Code Online (Sandbox Code Playgroud)

但是,当我点击"播放"时,log cat将返回此错误

08-08 04:54:15.823: I/Web Console(309): Error: Status=2 Message=Class not found at file:///android_asset/www/cordova-2.0.0.js:938
Run Code Online (Sandbox Code Playgroud)

update1:​​这是VideoPlayer.java所在的位置

这里

我没有在Gen文件夹下看到VideoPlayer.java,这是否意味着它没有编译?这可能是问题吗?如果是,如何解决?

update2:我检查了bin文件夹,bin\classes\com\phonegap\plugins\video下有VideoPlayer.class,所以VideoPlayer.java实际编译完毕

ziz*_*jab 10

问题是你的plugins.xml.

它出现在最近的一个PhoneGap版本中,已删除了plugins.xml,您必须在res/xml/config.xml中添加该行.

所以尝试添加标签 <plugin name="VideoPlayer" value="com.phonegap.plugins.video.VideoPlayer"/>

res/xml/config.xml不是plugins.xml


Anu*_*ari 6

如果日志中显示的错误是

在file:///android_asset/www/cordova-2.0.0.js:938找不到类

最好的方法是检查哪个类导致错误.对于仍然收到此错误消息的人,请尝试以下技巧.

  1. 在编辑器中打开cordova-2.0.0.js.
  2. 替换938行的代码即

    console.log("错误:Status ="+ v.status +"Message ="+ v.message);

    console.log("错误:Status ="+ v.status +"Message ="+ v.message +"service ="+ service +"action ="+ action);

  3. 再次运行应用程序并检查控制台是否存在上述错误.您可以在服务中看到导致错误的插件= XYZ,其中XYZ是插件名称.

  4. 检查config.xml文件中的部分是否包含XYZ插件的任何条目.
  5. 如果找不到,请添加XYZ插件.