Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Phonegap-升级到3.0版时出现API功能问题_Android_Cordova_Phonegap Plugins_Cordova 3 - Fatal编程技术网

Android Phonegap-升级到3.0版时出现API功能问题

Android Phonegap-升级到3.0版时出现API功能问题,android,cordova,phonegap-plugins,cordova-3,Android,Cordova,Phonegap Plugins,Cordova 3,在Windows上使用PhoneGap3.0,Android平台,在Eclipse中调试 我能够编译我的旧应用程序,但当我尝试使用一个现在是插件的功能时遇到了一个新问题 我已经通过CLI工具添加了我需要的所有插件,并且已经将“feature”数据添加到config.xml文件中,因此我假设可以调用它们。权限也在清单文件中设置 文件传输 我看到3.0的文件传输API示例代码没有更改,所以我在代码中保留了相同的调用。因此,文件将下载,但我得到一个错误,使我的应用程序崩溃 " D/CordovaLog

在Windows上使用PhoneGap3.0,Android平台,在Eclipse中调试

我能够编译我的旧应用程序,但当我尝试使用一个现在是插件的功能时遇到了一个新问题

我已经通过CLI工具添加了我需要的所有插件,并且已经将“feature”数据添加到config.xml文件中,因此我假设可以调用它们。权限也在清单文件中设置

文件传输

我看到3.0的文件传输API示例代码没有更改,所以我在代码中保留了相同的调用。因此,文件将下载,但我得到一个错误,使我的应用程序崩溃

"
D/CordovaLog(12883): file:///android_asset/www/phonegap.js: Line 932 : Uncaught Error: Error calling method on NPObject!
"
我对这个错误做了一些搜索,但似乎没有一个标准的解决方案

也许有一种新的方式来调用插件中的特性?因为我不能播放音频文件而不出错。声音文件将播放,但会导致错误

"
09-01 20:13:17.274: W/PluginManager(13279): THREAD WARNING: exec() call to Media.startPlayingAudio blocked the main thread for 23ms. Plugin should use CordovaInterface.getThreadPool().
"
我重新阅读了媒体API,没有提到线程池。我所有的编程都是用javascript编写的

从本质上讲,无论我在哪里使用插件功能,应用程序都会出现重大错误。我尝试在我以前的工作应用程序中使用我的录音功能,当我停止录音时,它会抛出一个错误

"
09-01 20:10:04.206: E/AudioPlayer(13279): FAILED renaming /mnt/sdcard/tmprecording.3gp to /sdsub/myapp/Recorded/myRecording.amr
"
我通过文件删除函数再次测试了文件传输api,但也失败了

"
09-01 20:16:00.884: W/PluginManager(13279): THREAD WARNING: exec() call to File.remove blocked the main thread for 19ms. Plugin should use CordovaInterface.getThreadPool().
"
功能如何工作的本质似乎已经改变,但在任何地方都没有记录。API调用似乎与旧版本没有变化,只是安装API功能的方式不同,但我遵循了该指南并安装了它们

有没有我错过的新API指南?因为Phonegap API文档没有改变在3.0中如何调用这些功能

谢谢

我的配置文件

<feature name="App">
    <param name="android-package" value="org.apache.cordova.App" />
</feature>
<feature name="NetworkStatus">
    <param name="android-package" value="org.apache.cordova.networkinformation.NetworkManager" />
</feature>
<feature name="File">
    <param name="android-package" value="org.apache.cordova.file.FileUtils" />
</feature>
<feature name="FileTransfer">
    <param name="android-package" value="org.apache.cordova.filetransfer.FileTransfer" />
</feature>
<feature name="Media">
    <param name="android-package" value="org.apache.cordova.media.AudioHandler" />
</feature>
<feature name="Notification">
    <param name="android-package" value="org.apache.cordova.dialogs.Notification" />
</feature>
<feature name="SplashScreen">
    <param name="android-package" value="org.apache.cordova.splashscreen.SplashScreen" />
</feature>
<feature name="Compass">
    <param name="android-package" value="org.apache.cordova.deviceorientation.CompassListener" />
</feature>

我的清单文件

<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.INTERNET" />


升级应用程序时,
phonegap.js
文件必须支持所有功能脚本。您可以使用合适的javascript文件版本,如
phonegap.0.9.5.js
或更高版本。这可能是因为phonegap.js没有包含应用程序所需的必要功能。如果你看到API,他们有phonegap.X.Y.Z.js。所以你可以试试高一点的

你能解决这个问题吗?您能否确认包含cordova.js文件的文件夹也包含cordova_plugins.js文件和一个plugins文件夹(每个使用的插件都有更多的子文件夹)。另外,打开cordova_plugins.js文件,检查它是否提到了config.xml文件中提到的所有插件。我还无法修复这些问题。我不确定为什么我的应用程序在3.0之前没有任何错误,但在3.0中有所有这些错误。cordova_plugins.js文件位于cordova.js文件旁边,plugins文件夹包含我添加的插件的所有子文件夹。关于如何修复这些错误,有什么建议吗?嗨,第一步,请确保您的cordova.js正在运行,并且没有问题,第二步。您必须在本机终端中尝试该插件,而不是在模拟器中,而不是在浏览器中,cordova 3.3中的步骤3我还没有在配置中添加任何功能,cordova在构建中自己做。第四步。IOS有插件问题,您必须先删除平台并安装插件,然后再添加IOS平台。我希望这能帮助你。谢谢你的回复。不知道你想说什么。。。你的评论与我的问题无关。。。也许我不明白你想说什么。更新phonegap时,主.js文件也会更新。所以