2013-07-31 13 views
19

Próbowałem uaktualnić wtyczkę do wersji 3, a udało mi się ominąć problemy z ładowaniem wtyczki i udało mi się udostępnić wtyczkę do środowiska klienta (zmieniając sposób działania exec itp.).Wtyczka PhoneGap 3: exec() wywołanie nieznanej wtyczki "..."

Ale kiedy oglądam adb logcat z

adb logcat | grep -v nativeGetEnabledTags | grep -i web

otrzymuję ten błąd:

D/PluginManager(11189): exec() call to unknown plugin: WebSocket

nie mogę się zorientować, co poszło nie tak, a ja nie jestem jasne, dlaczego wersja Androida nie widzi wtyczki.

Przekazałem WSZYSTKIEmu kodowi repozytorium github, więc jeśli ktoś będzie mógł powielić i pomóc, będę bardzo mile widziany! Jestem również próbuje napisać moje doświadczenia nawrócenia i rejestrowania gotchas jak uderzyć (istnieje jakiś w readme, choć jest niekompletna):

oto repo: https://github.com/remy/phonegap_test

- Remy

Odpowiedz

26

zdefiniować swoją wtyczkę w "Res/XML/config.xml"

znaleźć te linie w pliku

<feature name="App"> 
     <param name="android-package" value="org.apache.cordova.App" /> 
</feature> 

i dołączyć je zaraz po:

<feature name="MyPluginName"> 
     <param name="android-package" value="com.phonegap.plugins.plugin.class" /> 
</feature> 

zastąpić manekina nazwy (MyPluginName, plugins.plugin.class, itp.) z rzeczywistymi nazwami. To działa na mnie, kiedy otrzymuję ten błąd:

exec() call to unknown plugin : MyPluginName

+2

Moja praca zadziałała, jeśli 'name 'atrybut w' feature' jest taki sam jak atrybut 'value' w' param'. Więc '' – AimanB

+0

Dzięki, poprawiłem mój problem jak czar! –

+0

Thaks, pracował dla mnie! Ale za każdym razem, gdy uruchamiam 'cordova przygotuj android', usuń wpis dla MyPlugin z pliku res/xml/config.xml, i potrzebuję ręcznie, aby zaktualizować go przed uruchomieniem projektu. Czy wiesz, jak rozwiązać ten problem? – alberjoe

0

Czy otrzymujesz udane zdarzenie deviceready? Dostałem ten błąd w przeszłości, gdy moja aplikacja cicho zawodziła z innych powodów w moim kodzie, co spowodowało, że moje zdarzenie deviceready nigdy się nie rozpaliło. W moim przypadku błąd ciszy był spowodowany niektórymi błędami składni javascript w blokach kodu app.initialize().

2

Nagle pojawia się ten sam problem z budową luki telefonicznej (2.6). Ten sam dokładny kod pracował wcześniej, więc musi to być problem z kompilacją.

Czy próbowałeś otworzyć apk i zobaczyć, czy plik config.xml jest dołączony (tam są zdefiniowane wtyczki).

+1

Dziękuję, chociaż mój problem nie jest związany z tym błędem Ta odpowiedź pomogła mi – Srinivas

0

Na Android Studio 1.0.1 (działa na Mac OS 10.9.5) + Cordova 4.2.0 Naprawiłem podobny problem ("exec() wezwanie do nieznanej wtyczki ") następujące:

to się stało, że zawartość tagu:

<feature name="MyPluginName"> 
<param name="android-package" value="com.phonegap.plugins.plugin.class" /> 
</feature> 

pod YourCordovaProjectName/config.xml nie została powielona pod YourCordovaProjectName/platform/android/res/xml /config.xml

Musiałem zmienić plik config.xml pod YourCordovaProjectName/platform/android/RES/XML/ i dodać tag:

<feature name="MyPluginName"> 
    <param name="android-package" value="com.phonegap.plugins.plugin.class" /> 
    </feature> 

Wtedy to działało.

będę również dodać, że mam doświadczenie ten sam problem z IOS, musiałem wpisać ręcznie:

<feature name="MyPluginName"> 
<param name="ios-package" value="com.phonegap.plugins.plugin.class" /> 
</feature> 

W config.xml plików w folderze YourCordovaProjectName/platform/iOS/YourCordovaProjectName

Mam nadzieję, że zostanie ustalona w przyszłości i treści YourCordovaProjectName/config.xml będzie prawidłowo odzwierciedlone w plikach config.xml, które są pod każdym konkretnym platform (kiedyś pracował poprawnie dla Androida kilku MO nths temu).

1

Aby dodać definicję wtyczki w Androidzie pod ProjectFolder/platformy/android/res/xml/config.xml, zaktualizuj ProjectFolder/plugins/android.json

„Cordova budować” polecenie odczytuje ten plik android.json i zaktualizuj automatycznie ProjectFolder/platforms/android/res/xml/config.xml z wszystkimi wymienionymi tu wtyczkami

Powiązane problemy