2015-05-07 3 views
0

Я использую JavaScript Blank Apache Cordova App. Изменения были внесены только в config.xml.Cordova CLI 5.0.0 - Ошибка JavaScript BlankCordovaApp

Я изменил CLI Cordova в config.xml от 4.3.0 до 5.0.0. NPM загрузил файлы, и никаких сообщений об ошибках не сообщалось.

Когда я F5 отлаживаю> Android> пульсация. Я получаю следующее: "Exception occurred". Uncaught Error: cordova already defined

enter image description here

Эта ошибка не появляется при запуске 4.3.0. Любые мысли о том, почему происходит в 5.0.0?

ответ

0

К сожалению, это известная проблема с Ripple и реализацией Android в Cordova 5.0.0. Следующий релиз этой проблемы будет устранен, поскольку исправление было объединено.

Смотрите следующий DEV список рассылки нить на Кордову для деталей, если вы заинтересованы: http://callback.markmail.org/message/so6xavs6xdfn45zv?q=+list:org%2Eapache%2Eincubator%2Ecallback-dev+Ripple

UPDATE: Кордова 5.1.1 выходит и решает эту проблему вместе с вопросом Android безопасности.

+0

Chuck, Еще раз спасибо. Я просмотрел страницу Apache Cordova Know Issues https://www.visualstudio.com/en-us/features/cordova-known-issues-vs.aspx, но не имел успеха. Представление Microsoft Ignite сделало переход с 4.3.0 до 5.0.0 таким простым: –

+0

Да, это новая проблема - обновление известных проблем происходит на странице, поэтому я мог ответить. :) –

+0

Chuck, я смог отладить с помощью вашего почтового ящика JavaScript dev для 'cordova-js @ 3.9.1'. Сделано рекомендуемое изменение в cordova.js и AppData node_modules. Кроме того, visualstudio.com/en-us/features/cordova-known-issues-vs.aspx помог с переключателем 'gradle' в' Кордове 5.0.0'. Понадобилось некоторое время, но я, наконец, запускаю '5.0.0'. –

0

Немного поздно, но это обычно работает для меня. Для тестирования (не только этот случай, но большая часть ошибок, которые иногда возникают в рябь), я всегда даю ему первую попытку, например:

----> строка 104 на cordova.js (которую вы можете найти внутри платформы WWW)

заменить

if ("cordova" in window) { throw new Error("cordova already defined"); };

С:

if ("cordova" in window) { 
 
    //check if emulation 
 
    if(window.location.href.indexOf('localhost:4400') < 0){ 
 
     //if not emulating, throw error 
 
     throw new Error("cordova already defined"); 
 
    } 
 
};

Если он не работает, то я начинаю прибегая к помощи о проблеме. надеюсь, что это поможет кому-то сэкономить время.

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