Sửa để làm rõ: Các <name>
bạn nhìn thấy trong một số các tập tin dưới đây không thực sự là một phần của các tập tin, nhưng nó bao gồm các tên công ty mà tôi đã phải kiểm duyệt.Cordova plugin không làm việc
tình hình thử nghiệm:
- Cordova 4
- OS X Yosemite
- Android 4.4 thiết bị (kết hợp với USB)
- sử dụng Terminal; không Eclipse
gì xảy ra: Sử dụng cordova run --release
xây dựng thành công và ký vào .apk và các thiết bị di động cài đặt và mở nó mà không có vấn đề. Tuy nhiên, không có plugin nào hoạt động. Ví dụ:
title.on('click', function() {
if (!navigator.camera) {
alert('no camera!');
} else {
navigator.camera.getPicture(function success(data) {
// do something
}, function error(data) {});
}
});
Luôn luôn cảnh báo rằng không có máy ảnh, có nghĩa Cordova không thêm một đối tượng camera
đến đối tượng window.navigator
.
Dưới đây là một số thông tin về cài đặt cordova của tôi và một số tệp xml, theo như tôi có thể nói không có gì trông ngoài tầm nhìn. Lưu ý rằng nó không chỉ là máy ảnh không hoạt động, tôi chỉ sử dụng nó làm ví dụ. Thông tin
Cordova:
Node version: v0.10.29
Cordova version: 4.0.1-nightly.2014.9.29
Config.xml file:
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.<name>.App" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name><name> Mini</name>
<description>
De <name> app voor je telefoon
</description>
<author email="[email protected]<name>.nl" href="https://<name>.nl">
Het <name> Team
</author>
<content src="index.html" />
<access origin="*" />
<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="2000" />
</widget>
Plugins:
org.apache.cordova.camera,org.apache.cordova.dialogs,org.apache.cordova.file,org.apache.cordova.file-transfer,org.apache.cordova.media,org.apache.cordova.media-capture,org.apache.cordova.splashscreen,org.apache.cordova.vibration
Android platform:
Available Android targets:
----------
id: 1 or "android-19"
Name: Android 4.4.2
Type: Platform
API level: 19
Revision: 4
Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in
Tag/ABIs : default/armeabi-v7a, default/x86
cordova/config.xml
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.<name>.App" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name><name> Mini</name>
<description>
De <name> app voor je telefoon
</description>
<author email="[email protected]<name>.nl" href="https://<name>.nl">
Het <name> Team
</author>
<content src="index.html" />
<access origin="*" />
<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="2000" />
</widget>
cordova/nền tảng/android/AndroidManifest.xml <
?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="1" android:versionName="0.0.1" package="com.kaartje2go.App" xmlns:android="http://schemas.android.com/apk/res/android">
<supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
<uses-permission android:name="android.permission.INTERNET" />
<application android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleTop" android:name="CordovaApp" android:theme="@android:style/Theme.Black.NoTitleBar" android:windowSoftInputMode="adjustResize">
<intent-filter android:label="@string/launcher_name">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECORD_VIDEO" />
<uses-permission android:name="android.permission.VIBRATE" />
</manifest>
cordova/nền tảng/android/res/xml/config.xml
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.<name>.App" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<preference name="loglevel" value="DEBUG" />
<feature name="Camera">
<param name="android-package" value="org.apache.cordova.camera.CameraLauncher" />
</feature>
<feature name="Notification">
<param name="android-package" value="org.apache.cordova.dialogs.Notification" />
</feature>
<feature name="File">
<param name="android-package" value="org.apache.cordova.file.FileUtils" />
<param name="onload" value="true" />
</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="Capture">
<param name="android-package" value="org.apache.cordova.mediacapture.Capture" />
</feature>
<feature name="SplashScreen">
<param name="android-package" value="org.apache.cordova.splashscreen.SplashScreen" />
</feature>
<feature name="Vibration">
<param name="android-package" value="org.apache.cordova.vibration.Vibration" />
</feature>
<name><name> Mini</name>
<description>
De <name> app voor je telefoon
</description>
<author email="[email protected]<name>.nl" href="https://<name>.nl">
Het <name> Team
</author>
<content src="index.html" />
<access origin="*" />
<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="2000" />
</widget>
Anh chàng này là một nhà vô địch. Tôi thấy rất nhiều hướng dẫn cũ hơn về Cordova và chúng gây nhầm lẫn vì chúng hoàn toàn khác nhau (Cordova dường như thay đổi cấu trúc khá nhiều) và tôi đã tìm ra 'cordova.js' không cần phải thêm nữa, như tôi không thể tìm thấy nó. Tôi cho rằng nó sẽ tự động được thêm vào trong quá trình xây dựng. Cuối cùng, đó là điều. Tôi đã thêm 'cordova.js' vào' index.html' và mọi thứ đều hoạt động! –
Điều này đã giúp tôi rất nhiều. Đã kéo tóc của tôi ra cố gắng tìm ra lý do tại sao điều này không hoạt động! – Jason
Tôi đã thêm plugin 'cordova' s, nhưng plugin 'cordova plugin ls' của tôi trả về trống và thư mục plugin của tôi trống rỗng. Bất kỳ ý tưởng tại sao? –
Roman