kuoruan / ContentShell-Android

Chromium Content Shell for Android Studio
12 stars 8 forks source link

Build native files #1

Closed anhoev closed 5 years ago

anhoev commented 5 years ago

Hi, How can i build the .so files ? Can you list all build commands likes gn gen, ninja -C ...

anhoev commented 5 years ago

i tried to build but what i got is

package org.chromium.base.library_loader;
public class NativeLibraries {
    public static final int CPU_FAMILY_UNKNOWN = 0;
    public static final int CPU_FAMILY_ARM = 1;
    public static final int CPU_FAMILY_MIPS = 2;
    public static final int CPU_FAMILY_X86 = 3;
    public static boolean sUseLinker = false;
    public static boolean sUseLibraryInZipFile = false;
    public static boolean sEnableLinkerTests = false;
    public static final String[] LIBRARIES =
      {"c++_shared","base.cr","geometry.cr","shared_memory_support.cr","icuuc.cr","freetype_harfbuzz.cr","skia.cr","color_space.cr","icui18n.cr","base_i18n.cr","geometry_skia.cr","cc_base.cr","cc_debug.cr","animation.cr","mojo_public_system.cr","mojo_cpp_platform.cr","mojo_public_system_cpp.cr","message_support.cr","bindings_base.cr","mojo_mojom_bindings_shared.cr","mojo_mojom_bindings.cr","mojo_base_mojom_shared.cr","ipc_mojom_shared.cr","bindings.cr","mojo_base_lib.cr","mojo_base_shared_typemap_traits.cr","ipc_mojom.cr","protobuf_lite.cr","ipc.cr","gfx_ipc_color.cr","cc_paint.cr","gfx_switches.cr","codec.cr","range.cr","gfx.cr","gl_wrapper.cr","url.cr","crash_key.cr","platform.cr","gl_init.cr","gfx_ipc_geometry.cr","gfx_ipc.cr","gfx_ipc_buffer_types.cr","url_ipc.cr","ui_data_pack.cr","gpu.cr","ffmpeg.cr","boringssl.cr","crcrypto.cr","leveldatabase.cr","viz_resource_format_utils.cr","gles2_utils.cr","gles2_implementation.cr","service_manager_mojom_constants_shared.cr","service_manager_mojom_constants.cr","service_manager_cpp_types.cr","service_manager_mojom_shared.cr","service_manager_mojom.cr","service_manager_cpp.cr","metrics_cpp.cr","viz_common.cr","client.cr","media.cr","gamepad_mojom_shared.cr","mojo_base_mojom.cr","gamepad_shared_typemap_traits.cr","net.cr","events_base.cr","display.cr","gesture_detection.cr","events.cr","ui_base_ime.cr","mojom_platform_shared.cr","mojom_core_shared.cr","usb_shared.cr","network_cpp_base.cr","network_cpp.cr","gamepad_mojom.cr","device_gamepad.cr","midi.cr","sandbox_services.cr","seccomp_bpf.cr","seccomp_starter_android.cr","tracing.cr","prefs.cr","cc.cr","gles2.cr","gpu_ipc_service.cr","gl_in_process_context.cr","capture_base.cr","capture_lib.cr","cdm_manager.cr","media_gpu.cr","media_mojo_services.cr","service.cr","wtf.cr","discardable_memory_common.cr","discardable_memory_client.cr","startup_tracing.cr","blink_common.cr","content_public_common_mojo_bindings_shared.cr","blink_android_mojo_bindings_shared.cr","blink_mojo_bindings_shared.cr","content_common_mojo_bindings_shared.cr","gfx_ipc_skia.cr","ui_base.cr","display_types.cr","bluetooth.cr","chromium_sqlite3.cr","sql.cr","accessibility.cr","network_session_configurator.cr","url_matcher.cr","embedder_switches.cr","network_service.cr","sandbox.cr","resource_coordinator_cpp_base.cr","resource_coordinator_public_mojom_shared.cr","resource_coordinator_public_mojom.cr","resource_coordinator_cpp.cr","catalog_lib.cr","mojo_core_ports.cr","mojo_core_embedder_internal.cr","mojo_core_embedder.cr","embedder.cr","storage_common.cr","host.cr","cc_animation.cr","compositor.cr","ui_android.cr","shell_dialogs.cr","device_vr_mojo_bindings_shared.cr","mojo_base_mojom_blink.cr","device_vr_mojo_bindings_blink.cr","v8_libbase.cr","v8.cr","gin.cr","resource_coordinator_public_mojom_blink.cr","scheduling_metrics.cr","raster.cr","blink_embedded_frame_sink_mojo_bindings_shared.cr","blink_platform.cr","blink_core_mojo_bindings_shared.cr","native_theme.cr","blink_core.cr","gamepad_mojom_blink.cr","media_devices_mojo_bindings_shared.cr","blink_modules.cr","media_blink.cr","device_features.cr","tracing_mojom_shared.cr","tracing_mojom.cr","perfetto.cr","tracing_cpp.cr","interfaces_shared.cr","public.cr","storage_browser.cr","cc_mojo_embedder.cr","cbor.cr","discardable_memory_service.cr","device_base.cr","apdu.cr","fido.cr","device_vr_mojo_bindings.cr","content_service_mojom_shared.cr","content_service_mojom.cr","fingerprint.cr","devices.cr","snapshot.cr","ui_touch_selection.cr","printing.cr","blink_controller.cr","device_event_log.cr","content.cr","user_prefs.cr","keyed_service_core.cr","keyed_service_content.cr","test_runner.cr","net_with_v8.cr","content_shell_content_view.cr","display_util.cr","service_manager_mojom_blink.cr","service_manager_mojom_constants_blink.cr","surface.cr","os_crypt.cr","content_service_cpp.cr","manager.cr"};
    static String sVersionNumber =
      "";
    public static int sCpuFamily =
        CPU_FAMILY_ARM;
}

how to build only so file libcontent_shell_content_view.so like your ?

kuoruan commented 5 years ago

Use this args.gn

target_os = "android"
is_debug = false
is_official_build = true
enable_remoting = true
is_component_build = false
is_chrome_branded = false
use_official_google_api_keys = false
enable_resource_whitelist_generation = true
enable_nacl = false
remove_webcore_debug_symbols = true
proprietary_codecs = true
ffmpeg_branding = "Chrome"
android_channel = "stable"
autoninja -C out/Default content_shell_apk
kuoruan commented 5 years ago

is_component_build = false is the key.

anhoev commented 5 years ago

it works , thank you very much