Создание приложения со встроенным CrossWalk

Я пытаюсь создать браузер с CrossWalk в качестве зависимости.

Но я продолжаю получать исключение относительно XWalkInternalResources:

W/dalvikvm( 3165): VFY: unable to resolve static field 4639 (cpu_arch_mismatch_message) in Lorg/xwalk/core/R$string;
D/dalvikvm( 3165): VFY: replacing opcode 0x60 at 0x001c
I/dalvikvm( 3165): DexOpt: unable to optimize static field ref 0x1220 at 0x2d in Lorg/xwalk/core/XWalkView;.init
I/dalvikvm( 3165): DexOpt: unable to optimize static field ref 0x1226 at 0x40 in Lorg/xwalk/core/XWalkView;.init
I/dalvikvm( 3165): DexOpt: unable to optimize static field ref 0x122e at 0x4b in Lorg/xwalk/core/XWalkView;.init
W/XWalkInternalResources( 3165): org.xwalk.core.R$styleis not found.
W/XWalkInternalResources( 3165): org.xwalk.core.R$stringis not found.
W/XWalkInternalResources( 3165): org.xwalk.core.R$menuis not found.
W/XWalkInternalResources( 3165): org.xwalk.core.R$layoutis not found.
W/XWalkInternalResources( 3165): org.xwalk.core.R$idis not found.
W/XWalkInternalResources( 3165): org.xwalk.core.R$drawableis not found.
W/XWalkInternalResources( 3165): org.xwalk.core.R$dimenis not found.
W/XWalkInternalResources( 3165): org.xwalk.core.R$attris not found.
W/XWalkInternalResources( 3165): org.xwalk.core.R$dimenis not found.
W/XWalkInternalResources( 3165): org.xwalk.core.R$coloris not found.
W/XWalkInternalResources( 3165): org.xwalk.core.R$styleis not found.
W/XWalkInternalResources( 3165): org.xwalk.core.R$drawableis not found.
W/XWalkInternalResources( 3165): org.xwalk.core.R$layoutis not found.
W/XWalkInternalResources( 3165): org.xwalk.core.R$idis not found.
W/XWalkInternalResources( 3165): org.xwalk.core.R$stringis not found.
I/LibraryLoader( 3165): Loading: xwalkcore
I/LibraryLoader( 3165): Time to load native libraries: 23 ms (timestamps 5556-5579)
I/LibraryLoader( 3165): Expected native library version number "",actual native library version number ""
I/LibraryLoader( 3165): Expected native library version number "",actual native library version number ""
I/chromium( 3165): [INFO:library_loader_hooks.cc(106)] Chromium logging enabled: level = 0, default verbosity = 0
D/dalvikvm( 3165): GC_CONCURRENT freed 244K, 6% free 4279K/4552K, paused 3ms+2ms, total 19ms
I/BrowserStartupController( 3165): Initializing chromium process, renderers=0
F/chromium( 3165): [FATAL:content_main_runner.cc(689)] Check failed: base::i18n::InitializeICU().
F/libc    ( 3165): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1), thread 3165 (browser)

Сделать файл для моего браузера:

LOCAL_PATH:= $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional

LOCAL_STATIC_JAVA_LIBRARIES := DukaSharedLibrary\
                               DukaBrowserLibrary\
                               JsoupBrowserLibrary\
                               CrossWalkLibrary

LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_RESOURCE_DIR += $(LOCAL_PATH)/res
LOCAL_RESOURCE_DIR += vendor/duka/DukaSharedLibrary/res
LOCAL_RESOURCE_DIR += vendor/duka/DukaBrowserLibrary/res
LOCAL_RESOURCE_DIR += vendor/duka/CrossWalk/res

LOCAL_MANIFEST_FILE := AndroidManifest.xml
LOCAL_PACKAGE_NAME := DukaBrowser
LOCAL_CERTIFICATE := platform

LOCAL_ASSET_DIR := vendor/duka/DukaSharedLibrary/assets

LOCAL_AAPT_FLAGS := --auto-add-overlay

LOCAL_PROGUARD_ENABLED := disabled

include $(BUILD_PACKAGE)

include $(CLEAR_VARS)

LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := JsoupBrowserLibrary:libs/jsoup-1.7.3.jar
include $(BUILD_MULTI_PREBUILT)

Сделать файл для CrossWalk:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := CrossWalkLibrary
LOCAL_SDK_VERSION := 17

LOCAL_SRC_FILES := $(call all-java-files-under, src) 
LOCAL_RESOURCE_DIR += $(LOCAL_PATH)/res

LOCAL_STATIC_JAVA_LIBRARIES := XWalkLibrary

LOCAL_PROGUARD_ENABLED := disabled

include $(BUILD_STATIC_JAVA_LIBRARY)

include $(CLEAR_VARS)

LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := XWalkLibrary:libs/xwalk_core_library_java.jar

include $(BUILD_MULTI_PREBUILT)

Здесь что-то выглядит странно? Я знаю, что файл .jar, включенный в проект пешеходного перехода, может быть найден проектом браузера, так как ранее я избавился от ошибки, связанной с этим.

Нужно ли мне выполнять какие-либо дополнительные действия, чтобы включить эти внутренние ресурсы?


person dthomasen    schedule 30.09.2014    source источник
comment
Действительно ли это связано с тегом r?   -  person David Arenburg    schedule 30.09.2014
comment
Я действительно не знаю. Я пока уберу тег.   -  person dthomasen    schedule 30.09.2014
comment
Прочтите тег вики, и тогда вы узнаете   -  person David Arenburg    schedule 30.09.2014
comment
Ах, извините.. Неверно прочитал тег. Спасибо. :-)   -  person dthomasen    schedule 30.09.2014


Ответы (3)


У меня была такая же проблема на Crosswalk и Android Studio. Оказалось, что компилятор не включает каталог ресурсов в файл apk.

Вы можете изменить расширение apk-файла на zip и проверить наличие его ресурсов в Crosswalk в пакете.

person Karbon001    schedule 10.10.2014
comment
Он уже включен в make-файл. Я не могу создавать проблемы, используя intellij и Android studio, проблема возникает, когда я собираю свою сборку Android из исходного кода, включая приложение для пешеходного перехода. - person dthomasen; 10.10.2014

10 месяцев назад... Ты забыл его закрыть?

Я думаю, вы должны импортировать xwalk_core_library и добавить его в framework. (Просто исправьте это :))

Список:

модули:

app
framework
core_xwalk_library

и зависимости

приложение:

framework

рамки:

core_xwalk_library

Теперь студия может получить ваши баночки...

person YaaMe    schedule 12.08.2015
comment
Проблема все еще не в студии. Проблема заключается в том, что сервер сборки создает AOSP из исходного кода. Но мы не использовали его из-за этого. - person dthomasen; 12.08.2015

перейдите на страницу загрузки Crosswalk и загрузите стабильную версию "Android webview (ARM)". Извлеките файлы в C:\ и начните с шага 3 этой документации: Документация на Github

У меня тоже были некоторые проблемы, но это сработало для меня. Сначала я извлек файлы по другому пути, это было слишком долго, поэтому у меня было много проблем. В «C:\crosswalk-webview-8.37.189.12-arm» это сработало.

person Jonson    schedule 07.10.2014
comment
Я пытаюсь включить его в свою сборку Android из исходного кода. Нет проблем в разработке с использованием intellij - person dthomasen; 07.10.2014