Пешеходный переход с существующим приложением 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
Тогда вы не можете следовать инструкции по миграции.