2014-10-21 2 views
0

У меня проблема относительно кордовы. Это простая тема об установке кордовы, создании проекта и добавлении плагинов. На самом деле я думал, что все в порядке, пока я не попытаюсь добавить плагины в свой проект. Методы, связанные с плагинами cordova, не распознаются при выполнении программы ... Я выражаю:Плагины cordova не распознаются, отсутствует библиотека?

Я правильно установил nodeJS, правильно установил переменные окружения и т. Д. Затем я устанавливаю кордову, набрав : npm install -g cordova Все в порядке в данный момент.

После этого, я пытаюсь создать новый проект: cordova create Test com.example.test Test, например В настоящее время, по сравнению с видео-учебник here в 9:37, у меня есть:

Creating a new cordova project with name "Test" and id "com.example.text" 
at location [...]" 

Но я не имею в последних строках видео:

Downloading cordova library for www... 
Downloading complete 

Так есть уже что-то странное здесь ...

Уточняю андроид про ект, набрав:

cordova platforms add android 

И после этого, терминал отображает следующие строки:

Creating android project... 
Creating Cordova project for the Android platform: 
     Path: platforms\android 
     Package: com.example.test 
     Name: test 
     Android target: android-19 
Copying template files... 
Project successfully created 

но мне кажется, что в том же видео, как и раньше в 10:27, много чего должно произойти что это не похоже на меня ...

Проект все же «правильно» создан, несмотря на эти элементы НО: libs папка пуста (и я думаю, что это проблема ...)

Хорошо, после этого я пытаюсь добавить плагин, я набираю: cordova plugin add org.apache.cordova.device-orientation, чтобы получить плагин компаса.

AndroidManifest.xml и res\xml\config.xml правильно изменены, чтобы настроить функции (в build.xml) и разрешения (в AndroidManifest.xml), то я не думаю, что это здесь моя проблема ...

Но для тривиального кода, как:

<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="utf-8" /> 
     <meta name="format-detection" content="telephone=no" /> 
     <meta name="msapplication-tap-highlight" content="no" /> 
     <!-- WARNING: for iOS 7, remove the width=device-width and height=device-height attributes.  See https://issues.apache.org/jira/browse/CB-4323 --> 
     <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" /> 
     <link rel="stylesheet" type="text/css" href="css/index.css" /> 
     <title>Hello World</title> 
    </head> 
    <body> 
     <div class="app"> 
      <h1>Apache Cordova</h1> 
      <div id="deviceready" class="blink"> 
       <p class="event listening">Connecting to Device</p> 
       <p class="event received">Device is Ready</p> 
      </div> 
     </div> 

     <script type="text/javascript" src="cordova.js"></script> 
     <script type="text/javascript" src="js/index.js"></script> 

     <script> 
      if(navigator.compass) 
       alert("ok"); 
      else 
       alert("not supported"); 
     </script> 
    </body> 
</html> 

Я получил уведомление о том, «не поддерживается» (navigator.compass не определен)

кажется, что эта проблема остается для других плагинов в Кордову; Я не могу использовать их связанный метод ... кроме одного: navigator.geolocation; Я не знаю, почему, но это единственное, что распознается, когда я его использую.

Ну, я не знаю, что делать, я видел некоторые другие темы на «jar file missing», особенно this one, но я не уверен, что это настоящая проблема. Но если я не понимаю, где разместить сгенерированный файл jar в проекте ... (??)

В любом случае, если вы когда-либо сталкивались с такой ситуацией, я бы очень признателен, потому что это делает 3 полные дни, когда я пытаюсь решить эту проблему.

Примечание: Возможно, это не обязательно говорить об этом, но я пытаюсь полностью кодировать свой проект в javascript (чтобы создать приложение, применимое на многих платформах не только для android [здесь это просто тест]). Если есть права на добавление или какие-то мелочи, это нормально, но я предпочитаю ограничивать спецификации Android.

Жду ваших ответов, спасибо за все

ответ

0

Я думаю, это потому, что вы используете слишком рано свой плагин. Вы можете использовать только код плагина, когда устройство готово, так как js динамически загружается.

Если вы делаете что-то вроде этого, он должен работать:

document.addEventListener("deviceready", onDeviceReady, false); 

function onDeviceReady() { 
    if(navigator.compass) 
      alert("ok"); 
    else 
      alert("not supported...");  
} 
0

Got такого же рода проблемы здесь,

мне удалось установить Кордову и все. Но мой build.phonegap говорит, что он не содержит никаких плагинов. Также, когда я пытаюсь ввести navigator.c, чтобы получить navigator.camera. Опция камеры не отображается.

Ни один из моих плагинов не работает.

И у меня есть функция ondeviceready, что тоже не работает.

document.addEventListener('deviceready', test, false); 
function test() { 
    alert('hi'); 
} 

Нет приветствия popsup на моем телефоне Android, когда я скачал, установил и открыл свое приложение.

+0

Это не совсем то же рода проблемы. Если я напишу свой код в шахте, он отлично работает. Тогда для меня это просто проблема для плагинов cordova. Может быть, ваша проблема в том, что ваша версия слишком старая; попробуйте переустановить кордову с самой высокой версией (возможно :)) –

Смежные вопросы