Articles of cordova

无法从cordova cli为iOS构建项目

我使用Cordova CLI 3.5.0版创建了一个项目。 我已经使用CLI成功部署了Android平台项目。 cordova run android 但是,我在为iOS部署项目时遇到问题。 cordova run ios 我遇到了这个错误: mv:dest文件已经存在:/Users/amirfazwan/Documents/workspace/MyPKS/platforms/ios/MYPKS/MyPKS-Info.plist mv:dest文件已经存在:/Users/amirfazwan/Documents/workspace/MyPKS/platforms/ios/MYPKS/MyPKS-Prefix.pch shell.js:内部错误 错误:EINVAL,无效参数’/Users/amirfazwan/Documents/workspace/MyPKS/platforms/ios/MYPKS.xcodeproj’ at Object.fs.renameSync(fs.js:543:18) at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/shelljs/shell.js:495:8 at Array.forEach(native) at Object._mv(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/shelljs/shell.js:471:11) at Object.mv(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/shelljs/shell.js:1491:23) 在pbxProject。 (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/metadata/ios_parser.js:126:27) 在pbxProject.EventEmitter.emit(events.js:98:17) 在pbxProject。 (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/xcode/lib/pbxProject.js:30:18) 在ChildProcess.EventEmitter.emit(events.js:98:17) 在handleMessage(child_process.js:322:10) 只有在我手动访问Xcode项目以添加图标和启animation面后才会出现此问题,因为即使在config.xml中声明了图标和启animation面也不会自动添加到项目中。 我试图删除Info.plist和Prefix.pch文件,但随后出现此错误。 错误:ENOENT,没有这样的文件或目录’/Users/amirfazwan/Documents/workspace/MyPKS/platforms/ios/MYPKS/MYPKS-Info.plist’ at Object.fs.openSync(fs.js:427:18) at Object.fs.readFileSync(fs.js:284:15) at Object.exports.parseFileSync(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/plist-with-patches/lib/plist.js:18:19) at Object.module.exports.update_from_config(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/metadata/ios_parser.js:66:31) at Object.module.exports.update_project(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/metadata/ios_parser.js:189:21) at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/prepare.js:113:31 在_fulfilled(/usr/local/lib/node_modules/cordova/node_modules/q/q.js:798:54) at self.promiseDispatch.done(/usr/local/lib/node_modules/cordova/node_modules/q/q.js:827:30) 在Promise.promise.promiseDispatch(/usr/local/lib/node_modules/cordova/node_modules/q/q.js:760:13) 如果从Xcode启动,项目工作正常,但我不能再从CLI构建项目或从CLI启动“serve”命令以进行调试。 请指导我,谢谢。 解决了 […]

应用程序错误是一个目录(file:///#android_asset/www/index.html)

我正在使用phonegap在android上开发一个应用程序,当我在手机上测试它时我得到这个错误Application Error Is a directory (file:///#android_asset/www/index.html)我只有在我遇到这个错误我的手机上没有互联网连接。 有什么建议么?

Android Gingerbread上使用LocalStorage进行非法访问exception

我制作了一个Android / Phonegap应用程序,它在所有具有多个Android操作系统版本的设备上运行良好,除了一些姜饼(2.3)手机。 我正在使用Phonegap 1.9。 调试代码时,每次使用HTML5 localStorage.getItem()和localStorage.setItem()方法时,我都会在Javascript上实现illegal access exception 。 如何在这些Android设备上启用localStoragefunction?

在Android 4.1.2上的Phonegap 3.0应用程序中无法完全摆脱点按高亮颜色

在Android 4.1.2上点击Phonegap 3.0应用程序中的元素时,我完全摆脱了可怕的亮点。 当点击一些元素时,我首先在tapped元素下获得一个橙色(在这种情况下)突出显示,但随后快速连续的父元素(或另一个祖先元素,不确定哪个) 也显示一个高亮显示! 我知道通过设置透明颜色可以“禁用”点击突出显示: * { -webkit-tap-highlight-color: rgba(0,0,0,0); -webkit-tap-highlight-color: transparent; /* For some Androids */ } 这实际上适用于我的应用程序中的大多数可点击元素,但在某些元素上,父/祖先元素仍然会突出显示! 我已经创建了一个演示 ,演示了我正在测试的设备上的外观(三星Galaxy S3)。 是啊,没错。 我正在使用jsfiddle作为animation工具:-) 我已经尝试了另一个线程中讨论的所有内容: 禁用焦点上的橙色轮廓突出 由于点击突出显示实际上在上面用css规则点击的所有元素上消失了,我开始怀疑这个次要的较大高亮显示除了点击之外的其他内容。 但我试图扩展css规则也适用于*:hover, *:active, *:focus没有成功。 我也试图在css和Android应用程序本身之外解决问题。 WebSettings中的第一个setLightTouchEnabled ()似乎很有希望,但是A)它没有用,B)从API级别18它已经过时并且没有效果。 我真的很茫然。 任何帮助都将非常感激。

在android中使用phonegap时,来自gallery的图像以不同的方向显示

我正在使用Sencha Touch和Phonegap来显示用相机拍摄的照片。 通过cordova2.7.0在iphone上拍照时,图像以正确的方向绘制。 但是使用三星s3,图片将倾斜-90°(仅适用于肖像图像)。 navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 25, destinationType: destinationType.FILE_URI, targetWidth: 120, targeHeight: 120, correctOrientation: true, sourceType: source }); 我用上面的代码拍照。 肖像图像以正确的方向从相机显示器拍摄,问题仅发生在从图库中拍摄的肖像图像。 有没有办法解决这个问题?

如何在创建Android AVD时设置系统映像(路径?)?

我正在尝试在Linux上使用Android创建AVD。 当我在Cordova项目文件夹中运行android create avd时,我收到以下消息: -k –package : Package path of the system image for this AVD (eg ‘system-images;android-19;google_apis;x86’). [required] 我的问题是我不知道该选项要添加什么,并且无法在线find任何好的参考。 显然我安装了系统映像: 但是我如何参考这些? 我根据示例对它进行了一次尝试,我得到了这个错误: david@david-Virtual-Machine:~/projects/test-test$ android create avd –package “system-images;android-25;google-apis;x86” –name “foo” ************************************************************************* The “android” command is deprecated. For manual SDK, AVD, and project management, please use Android Studio. For command-line tools, use tools/bin/sdkmanager and tools/bin/avdmanager […]

Android设备上的Phonegap应用的本地存储是否与内置浏览器分开?

我的问题基本上是对这个问题的跟进或澄清。 我有一个使用Javascript和Adobe的Phonegap Build服务构建的Android应用程序,我正在使用“本地存储”在设备上存储数据。 从另一个问题,我了解到存储在本地存储中的数据本质上是“永久性的”,因为它将无限期地保留在设备上,除非用户通过手动清除应用程序的缓存或删除应用程序来对其进行操作(也许我愿意忍受的其他不寻常的情况)。 然而,部分接受的答案让我感到困惑,因为它开始模糊谈论手机浏览器和谈论Phonegap应用之间的界限。 我不清楚的是,使用Phonegap的Android上的应用程序是否使用与手机内置浏览器相同的缓存。 Phonegap本质上是现有浏览器工具的扩展,还是它自己独立的独立浏览器? 重要的是,如果用户在其浏览器中清除缓存,是否会影响基于Phonegap的已安装应用?

使用phonegap创建Android小部件

是否可以使用phonegap创建android主屏幕小部件?

deviceReady无法在PhoneGap应用程序中运行,如何操作?

我有一个简单的PhoneGap应用程序作为休闲: PhoneGap powered App document.addEventListener(“deviceready”, onDeviceReady, true); function onDeviceReady() { alert (‘123’); } title Begin by inserting your credentials. … $(document).ready(function () { }); 这里发生的是警报alert (‘123’); 永远不会被解雇 但是,如果我取出其他JavaScript代码并仅保留警报就会被解雇。 另外,如果我使用$(document).ready(function () { alert (‘123’); }我会收到警报。 这里发生了什么,为什么deviceready没有被解雇? 有任何想法吗?

Javascript和Phonegap插件之间的异步通信

所以,每个人都知道我们创建一个类扩展CordovaPlugin并覆盖execute() ,然后在JS和本机Java(Android)之间创建一个桥梁。 此外,我们使用PluginResult将结果返回给JS。 因此,当从JS向Java插件发出请求时,所有这些都会发生。 我的问题是, 如何 异步 地将结果发送回JS (以及HTML) ? 我不知道异步这个词是不是就在这里。 问题是我想把一些东西发回给JS(比如,当wifi成为启用/禁用时)。 我已经研究过这个,但没有任何适合我的情况。 我试过的是 – 使用WifiManager类创建了一个BroadcastReceiver监听WiFi事件。 注册接收者。 最后,在启用/禁用WiFi时popupToast ,并使用CallbackContext发送结果 callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, “Wifi Connected”))以及与其他消息断开连接。 MyPlugin.java import org.apache.cordova.CallbackContext; import org.apache.cordova.CordovaPlugin; import org.apache.cordova.PluginResult; import org.json.JSONArray; … public class MyPlugin extends CordovaPlugin { private WifiReceiver wifiBroadcastReceiver = null; private CallbackContext callbackContext = null; … public MyPlugin() { wifiBroadcastReceiver = […]