Intereting Posts
Как программно добавить элемент подменю в новую библиотеку поддержки Android Зачем использовать CardView вместо RelativeLayout или LinearLayout? Дополнительные действия по восстановлению активности Воспроизводите звуковой сигнал / звуковой сигнал на платформе Delphi XE5 / Android GoogleAuthUtil.getToken SecurityException OnActivityResult возвращает нулевые данные для захвата видео в Nexus 4 с v4.3 Как установить карту Google Maps API v2 для отображения карты всего мира? Как разместить веб-службы REST на Android? Как проверить, не является ли текущий поток не основным потоком Преобразование Vec4i в Java openCV Как отключить автокоррект во вводе HTML на Android? Weird: не может изменить значение Integer в jni Android «Разрешение отказа: невозможно использовать камеру» Запись данных на USB HID с использованием Javascript, HTML5 или любого кросс-платформенного языка (поддерживает Android) Воспроизведение видео с использованием текстуры в recycliewiew

Chromium WebView не существует

Я пытаюсь создать приложение Hello World с помощью Phonegap, но он сбой, когда я вызываю запуск приложения на эмуляторе. Я следовал за этим руководством. Вот что я имею на MainActivity.java:

package com.example.hello; import android.os.Bundle; import org.apache.cordova.*; public class HelloWorld extends CordovaActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.init(); // Set by <content src="index.html" /> in config.xml super.loadUrl(Config.getStartUrl()); //super.loadUrl("file:///android_asset/www/index.html"); } } 

Вот мой AndroidManifest.xml:

 <?xml version='1.0' encoding='utf-8'?> <manifest android:hardwareAccelerated="true" android:versionCode="1" android:versionName="0.0.1" android:windowSoftInputMode="adjustPan" package="com.example.hello" xmlns:android="http://schemas.android.com/apk/res/android"> <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" /> <uses-permission android:name="android.permission.INTERNET" /> <application android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/app_name" android:launchMode="singleTop" android:name="HelloWorld" android:theme="@android:style/Theme.Black.NoTitleBar"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="20" /> </manifest> 

Вот первые ошибки, которые я получаю:

  1. Chromium WebView не существует
  2. FATAL EXCEPTION: основной
  3. Java.lang.RuntimeException: Не удается запустить активность ComponentInfo {com.example.deneme / com.example.deneme.MainActivity}: java.lang.UnsupportedOperationException

Можете ли вы рассказать мне, что не так с приложением? Благодарю.

На самом деле, не каждый Android-телефон поставляется с Chromium в качестве механизма WebView ( https://developer.chrome.com/multidevice/webview/overview ). Например, у моего Samsung Galaxy Ace2 с Android 4.1.2 есть старый движок WebView. Строка пользовательского агента обозначает неизвестную версию Mozilla, внешний вид и поведение приложений HTML5 отличаются от Chrome. Однако приложения PhoneGap не вызывают ошибок на моем телефоне.

Я не знаю, почему вы получаете ошибку «Chromium WebView не существует», но поскольку вы на самом деле начинаете на своем пути (потому что вы пытаетесь создать приложение Hello World с помощью Phonegap), я хочу указать на другой вариант. Использование проекта Crosswalk позволяет не иметь дело с различными механизмами WebView на каждом устройстве Android, но использовать встроенные в ваш Chrome Chrome движок – всегда одно и то же на каждом устройстве Android. Проект crosswalk доступен для платформ android и tizen. Поэтому для создания кроссплатформенного приложения (android iOS) я бы предложил использовать либо

  • Intel XDK , который может использовать один исходный код html5 с XDK api и Cordova api, который может быть скомпилирован в приложение для Android с помощью пешеходного перехода или скомпилирован в iOS с использованием собственного WebView.
  • Crosswalk + Cordova для создания приложения для Android и PhoneGap для создания приложения iOS из тех же источников

Этот подход может устранить боль при поддержке различных устройств Android.

Смотрите также:

http://html5hub.com/building-cordova-applications-with-crosswalk/

https://groups.google.com/forum/#!topic/phonegap/IxSuRUScbMs