Пешеходный переход с существующим приложением Cordova 4.0.0?

Могу ли я перенести существующее приложение Cordova 4 в Crosswalk? В руководстве по миграции https://crosswalk-project.org/documentation/cordova/migrate_an_application.html говорится, что Cordova 3.6 для Crosswalk-10 и новее... но у меня есть приложение Cordova 4.0.0.

Я следовал инструкциям в руководстве по миграции. Мне нужно построить приложение после импорта crosswalk и изменить зависимости приложения, но я получаю эту ошибку:

02-20 18: 00: 22.522: E / AndroidRuntime (1592): ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: основной 02-20 18:00:22.522: E/AndroidRuntime(1592): java.lang.RuntimeException: Невозможно создать экземпляр действия ComponentInfo{co.iridian.shoppingadvisor/co.iridian.shoppingadvisor.CordovaApp}: java.lang.ClassNotFoundException: co.iridian.shoppingadvisor.CordovaApp 02-20 18:00:22.522: E/AndroidRuntime(1592): в android.app.ActivityThread.performLaunchA (ActivityThread.java:1983) 02-20 18:00:22.522: E/AndroidRuntime(1592): на android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) 02-20 18:00:22.522: E/AndroidRuntime(1592): в android.app.ActivityThread.access$600(ActivityThread.java:130) 02-20 18:00:22.522: E/AndroidRuntime(1592): в android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195) 02-20 18:00:22.522: E/AndroidRuntime(1592): на android.os.Handler.dispatchMessage(Handler.java:99) 02-20 18:00:22.522: E/AndroidRuntime(1592): на android.os.Looper.loop(Looper.java:137) 02-20 18:00:22.522: E/AndroidRuntime(1592): в android.app.ActivityThread.main(ActivityThread.java:4745) 02-20 18:00:22.522: E/AndroidRuntime(1592): в java.lang.reflect.Method.invokeNative(собственный метод) 02-20 18: 00: 22.522: E / AndroidRuntime (1592): в java.lang.reflect.Method.invoke(Method.java:511) 02-20 18:00:22.522: E/AndroidRuntime(1592): в com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 02-20 18:00:22.522: E/AndroidRuntime(1592): на com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 02-20 18:00:22.522: E/AndroidRuntime(1592): at dalvik.system.NativeStart.main(собственный метод) 02-20 18: 00: 22.522: E / AndroidRuntime (1592): вызвано by: java.lang.ClassNotFoundException: co.iridian.shoppingadvisor.CordovaApp 02-20 18:00:22.522: E/AndroidRuntime(1592): в dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61) 02-20 18:00:22.522: E/AndroidRuntime(1592): на java.lang.ClassLoader.loadClass(ClassLoader.java:501) 02-20 18:00:22.522: E/AndroidRuntime(1592): в java.lang.ClassLoader.loadClass(ClassLoader.java:461) 02-20 18:00:22.522: E/AndroidRuntime(1592): в android.app.Instrumentation.newActivity(Instrumentation.java:1053) 02-20 18:00:22.522: E/AndroidRuntime(1592): на android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1974)

1 ответ

Решение

Каждая версия Crosswalk совместима с определенной версией Cordova.

Crosswalk 10 совместим с Cordova 3.6.

Crosswalk 9 совместим с Cordova 3.5.

Если вы используете другую версию Cordova, она просто не будет работать.

Хорошая новость заключается в том, что не потому, что вы создали свой проект с версией 4, вы не можете использовать его с Cordova 3.6.

Будьте осторожны, чтобы не внести некоторые изменения в платформы / Android, в этом случае сделайте резервную копию этих файлов, прежде чем продолжить.

Сначала мы удалим платформу Android:

cordova platform remove android

Затем мы устанавливаем версию, необходимую для версии CrossWalk, которую мы хотим использовать:

cordova platform add android@3.6.3

Тогда вы не можете следовать инструкции по миграции.

Другие вопросы по тегам