ошибка инициализации cordova: класс не найден

<p>это <code>config.xml</code>, а не <code>configs.xml</code>. </p><p>судя по журналам, я вижу, что вам не хватает этого файла в каталоге <code>res/xml</code> вашего приложения. он включен как часть дистрибутива в <code>lib/android/res/xml/config.xml</code>, поэтому скопируйте этот файл в каталог <code>res/xml</code>, и все будет готово.</p>

<p>так же, как <a href="https://stackoverflow.com/a/18884127/282259">aharris88 в своем ответе на этот вопрос</a> , у меня появилось сообщение об ошибке <code>[cordova] error initilizing cordova: class not found</code> при использовании <strong>cordova 3.1.0</strong> на моем телефоне с android после перехода с phonegap 3.0.</p><p>все возиться с файлом <code>config.xml</code> в каталоге <code>/platforms/android/res/xml</code> не помогло. основываясь на ответе stackoverflow, упомянутом выше, я попытался «начать заново», переустановив поддержку платформы android:</p><pre><code>cordova platform rm android cordova platform add android </code></pre><p>после этого шага он снова заработал, и я смог без проблем выполнить <code>cordova build android && cordova run android</code>.</p>

<p>у меня была эта ошибка из-за плагина, который я удалил. я добавил</p><pre><code><plugin name="device" value="org.apache.cordova.device"/> </code></pre><p>к файлу config.xml снова, и это исправило это.</p>

<p>мой у вас нет следующего плагина:</p><pre><code><plugin name="device" value="org.apache.cordova.device"/> </code></pre><p>вы должны поместить это между <code><plugins></plugins></code>. </p><pre><code><plugins> <plugin name="device" value="org.apache.cordova.device"/> </plugins> </code></pre>

<p>ну, ошибка, которую я нашел:</p><blockquote> <p>05-28 08: 19: 53.139: e/pluginmanager (1478): ================================= ================================================== знак равно 05-28 08: 19: 53.139: e/pluginmanager (1478): ошибка: отсутствует файл config.xml. добавьте res/xml/config.xml в ваш проект . 05-28 08: 19: 53.139: e/pluginmanager (1478): <a href="https://git-wip-us.apache.org/repos/asf?p=incubator-cordova-android.git;a=blob;f=framework/res/xml/plugins.xml">https://git-wip-us.apache.org/repos/asf?p=incubator-cordova-android.git;a=blob; f = framework/res/xml/plugins.xml</a> </p> </blockquote><p>но я нашел /res/xml/config.xml в моем проекте</p><p>наконец, я обнаружил ошибку в org.apache.cordova.api.pluginmanager:</p><pre><code>public void loadplugins() { int id = this.ctx.getactivity().getresources().getidentifier("config", "xml", this.ctx.getactivity().getclass().getpackage().getname()); ... </code></pre><p>должен измениться на:</p><pre><code>public void loadplugins() { int id = this.ctx.getactivity().getresources().getidentifier("config", "xml", this.ctx.getactivity().getpackagename()); ... </code></pre><p>вы можете прочитать больше о методе "getidentifier (string name, string deftype, string defpackage)" в официальном документе.</p>

<p>вы можете решить эту проблему при использовании командной строки phonegap, выполнив следующие действия:</p><ol> <li><p>удалить слияния/android, платформы/android, плагины/android.json</p></li> <li><p>запустить <code>phonegap local build android</code></p></li> </ol>

<p>была такая же проблема с классом не найден. одна проблема, на которую стоит обратить внимание, - убедиться, что файл android.json (или ios.json) обновляется в сборке. мой был фактически пуст ........ кроме того, удалите и добавьте обратно плагины, как упомянуто в некоторых других сообщениях .. наконец, для меня работало то, чтобы убедиться, что плагины были исправлены в ссылках в config.xml:</p><pre><code><feature name="device"> <param name="android-package" value="org.apache.cordova.device.device"/> </feature> <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> </code></pre><p>обратите внимание на двойное именование «device.device», а также подклассы плагинов «camera» и «dialogs». это просто неправильно указано в документации phonegap.</p>

<p>итак, после того, как я чуть не покончил с собой, я обнаружил, что использую cordova версии 5.3.3 и cordova-android версии 5.0.0, почему-то я не знаю, может быть, они не совместимы или может быть ошибка, поэтому я отступаю на кордову android 4.1.1</p><pre><code> cordova platform rm android cordova platform add android@4.1.1 </code></pre><p>и это спасло меня</p>

<p>я столкнулся с той же ошибкой: «ошибка инициализации cordova: класс не найден» при использовании cordova с visual studio 2015. но это была не единственная ошибка, похоже, ни один из моих плагинов не прошел. я пробовал обо всем. от <code>cordova platform rm/add android</code> x1000 раз, до удаления и повторного добавления плагинов вручную, похоже, ничего не получится. </p><p> <a href="https://i.stack.imgur.com/v3rbs.png"> <img src="https://i.stack.imgur.com/v3rbs.png" alt="enter image description here"> </a> </p><p>затем я изменил свой cordova-cli в файле taco.json с 5.3.3 до 5.4.0 и запустил его на своем устройстве. наконец это решило всю проблему для меня. затем я понизил версию cordova до 5.3.3 (версия 5.4.0 пока не поддерживается мостом adb). попробуйте!</p>

<p>[решено в моем случае]</p><p>во-первых, шестой шаг неверен: это config.xml, а не configs.xml</p><p>у меня та же ошибка, несмотря на то, что у меня есть <strong>config.xml</strong> в папке res/xml . это потому, что вам нужно вручную устанавливать плагины для основных функций api.</p><p>через консоль перейдите в папку вашего проекта и введите:</p><pre><code>phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git </code></pre><p>вы можете прочитать больше здесь в phonegap doc (последний раздел называется добавлением функций): <a href="http://docs.phonegap.com/en/3.0.0/guide\_cli\_index.md.html">phonegap doc</a> </p><p>я оставляю вам также мой файл config.xml</p><pre><code><?xml version='1.0' encoding='utf-8'?> <widget id="io.cordova.hellocordova" version="2.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0"> <name short="menu">menu digital</name> <description> description </description> <author email="asd@gmail.com" href="www.facebook.com/usr"> name </author> <feature name="app"> <param name="android-package" value="org.apache.cordova.app" /> </feature> <feature name="http://api.phonegap.com/1.0/device" /> <feature name="http://api.phonegap.com/1.0/media" /> <feature name="device"> <param name="android-package" value="org.apache.cordova.device.device" /> </feature> <content src="index.html" /> <feature name="app"> <param name="android-package" value="org.apache.cordova.app" /> </feature> <access origin="*" /> <preference name="usebrowserhistory" value="true" /> <preference name="exit-on-suspend" value="false" /> <preference name="fullscreen" value="true" /> <preference name="webviewbounce" value="true" /> </widget> </code></pre>

<p>это может произойти, потому что ваш плагин cordova отличается от того, что ionic ожидает найти:</p><p>вы должны исправить файл<strong> plugin.xml </strong>внутри вашей исходной папки плагина:</p><pre><code><config-file target="app/src/main/res/xml/config.xml" parent="/*"> </code></pre><p>должно быть:</p><pre><code> <config-file target="res/xml/config.xml" parent="/*"> </code></pre><p>если вы пытаетесь найти эту ошибку в android studio logcat, вы обычно находите что-то вроде:</p><pre><code>io.ionic.starter e/chromium: [error:service\_manager.cc(156)] connection interfaceproviderspec prevented service: content\_renderer from binding interface: blink::mojom::budgetservice exposed by: content\_browser 2019-02-22 13:40:06.144 30230-30258/com.android.webview:sandboxed\_process0 e/chromium: [error:budgetservice.cpp(167)] unable to connect to the mojo budgetservice. </code></pre>

<p>я получаю ту же ошибку, я проверил свой список плагинов cordova </p><p>запустив команду «список плагинов cordova» в моем каталоге проектов android и обнаружив, что плагин «org.apache.cordova.device» отсутствует.</p><p>я обновил его, используя «cordova plugin add cordova-plugin-device», и ошибка исчезла.</p>