Adding jars to chromium

76 views
Skip to first unread message

Sebastian M.D.

unread,
Jun 4, 2021, 11:08:03 AM6/4/21
to Chromium Extensions
Even though tangentially related to extensions, I'll try my chances here. 

I'm using nanohttpd: 


and need to add it as a depency to (kiwi/chromium):


I compiled nano with java 7, created a jar and made a sample app to try it out in android (and it worked). 

Now, when adding nanohttpd.jar to chromium, I edited:


to

# MY-CODE
# Naming convention:
java_prebuilt("nano_javalib") {
  jar_path = "//third_party/nano_webserver/nanohttpd.jar"
}
# / MY-CODE

android_library("chrome_java") {
  deps = [
    # MY-CODE
    ":nano_javalib",
    # / MY-CODE

After running

ninja -C out/android_arm chrome_public_apk

build fails with the following message:


Traceback (most recent call last):
  File "../../build/android/gyp/write_build_config.py", line 1356, in <module>
    sys.exit(main(sys.argv[1:]))
  File "../../build/android/gyp/write_build_config.py", line 1020, in main
    + str(deps_not_support_android))
Exception: Not all deps support the Android platform: [u'nano_javalib.build_config']
[10/345] ACTION //components/resources:about_credits(//build/toolchain/android:android_clang_arm)
ninja: build stopped: subcommand failed.

Full stack trace:

FAILED: gen/chrome/android/chrome_java.build_config 
python ../../build/android/gyp/write_build_config.py --type=java_library --depfile gen/chrome/android/chrome_java__build_config.d --deps-configs=\[\"gen/chrome/android/nano_javalib.build_config\",\ \"gen/chrome/android/chrome_java_resources.build_config\",\ \"gen/chrome/android/chrome_public_apk_template_resources.build_config\",\ \"gen/chrome/android/document_tab_model_info_proto_java.build_config\",\ \"gen/chrome/android/partner_location_descriptor_proto_java.build_config\",\ \"gen/chrome/android/thumbnail_cache_entry_proto_java.build_config\",\ \"gen/third_party/android_tools/google_play_services_auth_base_java.build_config\",\ \"gen/third_party/android_tools/google_play_services_base_java.build_config\",\ \"gen/third_party/android_tools/google_play_services_basement_java.build_config\",\ \"gen/third_party/android_tools/google_play_services_cast_java.build_config\",\ \"gen/third_party/android_tools/google_play_services_gcm_java.build_config\",\ \"gen/third_party/android_tools/google_play_services_iid_java.build_config\",\ \"gen/third_party/android_tools/google_play_services_tasks_java.build_config\",\ \"gen/base/base_java.build_config\",\ \"gen/chrome/android/third_party/compositor_animator/compositor_animator_java.build_config\",\ \"gen/chrome/android/webapk/libs/client/client_java.build_config\",\ \"gen/chrome/android/webapk/libs/common/common_java.build_config\",\ \"gen/chrome/android/webapk/libs/runtime_library/webapk_service_aidl_java.build_config\",\ \"gen/components/autofill/android/autofill_java.build_config\",\ \"gen/components/background_task_scheduler/background_task_scheduler_java.build_config\",\ \"gen/components/bookmarks/common/android/bookmarks_java.build_config\",\ \"gen/components/content_view/content_view_java.build_config\",\ \"gen/components/crash/android/java.build_config\",\ \"gen/components/dom_distiller/content/browser/android/dom_distiller_content_java.build_config\",\ \"gen/components/dom_distiller/core/android/dom_distiller_core_java.build_config\",\ \"gen/components/download/internal/background_service/internal_java.build_config\",\ \"gen/components/download/public/background_service/public_java.build_config\",\ \"gen/components/download/public/common/public_java.build_config\",\ \"gen/components/feature_engagement/feature_engagement_java.build_config\",\ \"gen/components/gcm_driver/android/gcm_driver_java.build_config\",\ \"gen/components/gcm_driver/instance_id/android/instance_id_driver_java.build_config\",\ \"gen/components/invalidation/impl/java.build_config\",\ \"gen/components/location/android/location_java.build_config\",\ \"gen/components/minidump_uploader/minidump_uploader_java.build_config\",\ \"gen/components/navigation_interception/android/navigation_interception_java.build_config\",\ \"gen/components/offline_items_collection/core/core_java.build_config\",\ \"gen/components/payments/content/android/java.build_config\",\ \"gen/components/payments/mojom/mojom_java.build_config\",\ \"gen/components/policy/android/policy_java.build_config\",\ \"gen/components/safe_browsing/android/safe_browsing_java.build_config\",\ \"gen/components/signin/core/browser/android/java.build_config\",\ \"gen/components/spellcheck/browser/android/java.build_config\",\ \"gen/components/sync/android/sync_java.build_config\",\ \"gen/components/url_formatter/android/url_formatter_java.build_config\",\ \"gen/components/variations/android/variations_java.build_config\",\ \"gen/components/version_info/android/version_constants_java.build_config\",\ \"gen/components/web_contents_delegate_android/web_contents_delegate_android_java.build_config\",\ \"gen/components/web_restrictions/provider_java.build_config\",\ \"gen/content/public/android/content_java.build_config\",\ \"gen/device/gamepad/java.build_config\",\ \"gen/device/geolocation/geolocation_java.build_config\",\ \"gen/media/base/android/media_java.build_config\",\ \"gen/media/capture/content/android/screen_capture_java.build_config\",\ \"gen/media/capture/video/android/capture_java.build_config\",\ \"gen/media/midi/midi_java.build_config\",\ \"gen/mojo/public/java/bindings_java.build_config\",\ \"gen/mojo/public/java/system_java.build_config\",\ \"gen/net/android/net_java.build_config\",\ \"gen/printing/printing_java.build_config\",\ \"gen/services/data_decoder/public/cpp/android/safe_json_java.build_config\",\ \"gen/services/service_manager/public/java/service_manager_java.build_config\",\ \"gen/services/service_manager/public/mojom/mojom_java.build_config\",\ \"gen/services/shape_detection/shape_detection_java.build_config\",\ \"gen/services/shape_detection/public/mojom/mojom_java.build_config\",\ \"gen/skia/public/interfaces/interfaces_java.build_config\",\ \"gen/third_party/android_data_chart/android_data_chart_java.build_config\",\ \"gen/third_party/android_media/android_media_java.build_config\",\ \"gen/third_party/android_protobuf/protobuf_nano_javalib.build_config\",\ \"gen/third_party/android_swipe_refresh/android_swipe_refresh_java.build_config\",\ \"gen/third_party/android_tools/android_arch_lifecycle_common_java.build_config\",\ \"gen/third_party/android_tools/android_arch_lifecycle_runtime_java.build_config\",\ \"gen/third_party/android_tools/android_gcm_java.build_config\",\ \"gen/third_party/android_tools/android_support_annotations_java.build_config\",\ \"gen/third_party/android_tools/android_support_compat_java.build_config\",\ \"gen/third_party/android_tools/android_support_design_java.build_config\",\ \"gen/third_party/android_tools/android_support_v13_java.build_config\",\ \"gen/third_party/android_tools/android_support_v7_appcompat_java.build_config\",\ \"gen/third_party/android_tools/android_support_v7_gridlayout_java.build_config\",\ \"gen/third_party/android_tools/android_support_v7_mediarouter_java.build_config\",\ \"gen/third_party/android_tools/android_support_v7_recyclerview_java.build_config\",\ \"gen/third_party/blink/public/android_mojo_bindings_java.build_config\",\ \"gen/third_party/blink/public/blink_headers_java.build_config\",\ \"gen/third_party/cacheinvalidation/cacheinvalidation_javalib.build_config\",\ \"gen/third_party/cacheinvalidation/cacheinvalidation_proto_java.build_config\",\ \"gen/third_party/custom_tabs_client/custom_tabs_support_java.build_config\",\ \"gen/third_party/gif_player/gif_player_java.build_config\",\ \"gen/third_party/jsr-305/jsr_305_javalib.build_config\",\ \"gen/third_party/leakcanary/leakcanary_java.build_config\",\ \"gen/third_party/protobuf/protobuf_lite_javalib.build_config\",\ \"gen/ui/android/ui_java.build_config\",\ \"gen/ui/base/mojo/mojo_bindings_java.build_config\",\ \"gen/ui/gfx/geometry/mojo/mojo_java.build_config\",\ \"gen/url/mojom/url_mojom_gurl_java.build_config\",\ \"gen/third_party/feed/feed_lib_java.build_config\",\ \"gen/device/vr/java.build_config\",\ \"gen/third_party/gvr-android-keyboard/kb_java.build_config\",\ \"gen/third_party/gvr-android-sdk/gvr_common_java.build_config\",\ \"gen/build/android/buildhooks/build_hooks_java.build_config\",\ \"gen/build/android/buildhooks/build_hooks_android_java.build_config\",\ \"gen/third_party/android_tools/android_sdk_java.build_config\"\] --build-config gen/chrome/android/chrome_java.build_config --jar-path lib.java/chrome/android/chrome_java.jar --unprocessed-jar-path gen/chrome/android/chrome_java.javac.jar --interface-jar-path lib.java/chrome/android/chrome_java.interface.jar --dex-path gen/chrome/android/chrome_java.dex.jar --supports-android --requires-android --java-sources-file gen/chrome/android/chrome_java.sources --bundled-srcjars=\[\"gen/chrome/android/chrome_android_java_enums_srcjar.srcjar\",\ \"gen/chrome/android/chrome_android_java_google_api_keys_srcjar.srcjar\",\ \"gen/chrome/android/chrome_version_srcjar.srcjar\",\ \"gen/chrome/android/photo_picker_aidl.srcjar\",\ \"gen/chrome/android/resource_id_javagen.srcjar\",\ \"gen/chrome/assist_ranker_prediction_enum_javagen.srcjar\",\ \"gen/chrome/content_setting_javagen.srcjar\",\ \"gen/chrome/content_settings_type_javagen.srcjar\",\ \"gen/chrome/credit_card_javagen.srcjar\",\ \"gen/chrome/data_use_ui_message_enum_javagen.srcjar\",\ \"gen/chrome/download_enum_javagen.srcjar\",\ \"gen/chrome/instant_apps_reasons_enum_javagen.srcjar\",\ \"gen/chrome/offline_pages_enum_javagen.srcjar\",\ \"gen/chrome/page_info_connection_type_javagen.srcjar\",\ \"gen/chrome/page_info_action_javagen.srcjar\",\ \"gen/chrome/partner_bookmarks_javagen.srcjar\",\ \"gen/chrome/payments_journey_logger_enum_javagen.srcjar\",\ \"gen/chrome/pref_enum_javagen.srcjar\",\ \"gen/chrome/quick_action_category_enum_javagen.srcjar\",\ \"gen/chrome/signin_metrics_enum_javagen.srcjar\",\ \"gen/components/browsing_data/core/browsing_data_utils_java.srcjar\",\ \"gen/components/browsing_data/core/clear_browsing_data_tab_java.srcjar\",\ \"gen/components/consent_auditor/consent_auditor_java.srcjar\",\ \"gen/components/data_reduction_proxy/core/browser/data_reduction_proxy_savings_cleared_enum_java.srcjar\",\ \"gen/components/favicon_base/favicon_base_enums_java.srcjar\",\ \"gen/components/dom_distiller/core/distiller_type_java.srcjar\",\ \"gen/components/infobars/core/infobar_enums_java.srcjar\",\ \"gen/components/ntp_snippets/ntp_snippets_java_enums_srcjar.srcjar\",\ \"gen/components/ntp_tiles/ntp_tiles_enums_java.srcjar\",\ \"gen/components/offline_pages/core/offline_page_model_enums_java.srcjar\",\ \"gen/components/omnibox/browser/autocomplete_match_javagen.srcjar\",\ \"gen/components/omnibox/browser/autocomplete_match_type_javagen.srcjar\",\ \"gen/components/search_engines/search_engine_type_java.srcjar\",\ \"gen/components/security_state/core/security_state_enums_java.srcjar\",\ \"gen/components/signin/core/browser/investigated_scenario_java.srcjar\",\ \"gen/components/supervised_user_error_page/enums_srcjar.srcjar\",\ \"gen/components/ui_metrics/ui_metrics_enums_java.srcjar\",\ \"gen/chrome/android/chrome_vr_android_java_enums_srcjar.srcjar\"\]
Traceback (most recent call last):
  File "../../build/android/gyp/write_build_config.py", line 1356, in <module>
    sys.exit(main(sys.argv[1:]))
  File "../../build/android/gyp/write_build_config.py", line 1020, in main
    + str(deps_not_support_android))
Exception: Not all deps support the Android platform: [u'nano_javalib.build_config']
[10/345] ACTION //components/resources:about_credits(//build/toolchain/android:android_clang_arm)
ninja: build stopped: subcommand failed.

Research so far:


(chromium no longer uses gyp)


(seems outdated)


(closest match but in this case there seems to be a problem with the jar itself not the way it's being added to the build)




Am I going about this the right way?

Reply all
Reply to author
Forward
0 new messages