blob: 1c840f82483d528988e8d7e0db8d48cb6512025c [file] [log] [blame]
Sami Kalliomäki3e77afd2018-03-08 16:43:16 +01001import("//webrtc.gni")
2
Oleh Prypinfdc0ef12018-07-23 10:01:26 +02003if (is_android) {
4 rtc_android_apk("androidnativeapi") {
5 testonly = true
6 apk_name = "androidnativeapi"
7 android_manifest = "AndroidManifest.xml"
Jeremy Leconteb19cfee2020-06-25 22:57:49 +02008 min_sdk_version = 21
Oleh Prypin4cbb4ef2019-06-18 17:09:51 +02009 target_sdk_version = 27
Sami Kalliomäki3e77afd2018-03-08 16:43:16 +010010
Natalie Chouinard65bbcab2019-12-23 14:02:25 -080011 sources = [
Oleh Prypinfdc0ef12018-07-23 10:01:26 +020012 "java/org/webrtc/examples/androidnativeapi/CallClient.java",
Natalie Chouinard65bbcab2019-12-23 14:02:25 -080013 "java/org/webrtc/examples/androidnativeapi/MainActivity.java",
Oleh Prypinfdc0ef12018-07-23 10:01:26 +020014 ]
Sami Kalliomäki3e77afd2018-03-08 16:43:16 +010015
Oleh Prypinfdc0ef12018-07-23 10:01:26 +020016 deps = [
17 ":resources",
18 "//modules/audio_device:audio_device_java",
Artem Titova4dfe242020-06-03 16:42:57 +020019 "//rtc_base:base_java",
Oleh Prypinfdc0ef12018-07-23 10:01:26 +020020 "//sdk/android:camera_java",
21 "//sdk/android:surfaceviewrenderer_java",
22 "//sdk/android:video_api_java",
23 "//sdk/android:video_java",
Byoungchan Lee02334e02021-08-14 11:41:59 +090024 "//third_party/androidx:androidx_annotation_annotation_java",
Oleh Prypinfdc0ef12018-07-23 10:01:26 +020025 ]
Sami Kalliomäki3e77afd2018-03-08 16:43:16 +010026
Oleh Prypinfdc0ef12018-07-23 10:01:26 +020027 shared_libraries = [ ":examples_androidnativeapi_jni" ]
28 }
Sami Kalliomäki3e77afd2018-03-08 16:43:16 +010029
Oleh Prypinfdc0ef12018-07-23 10:01:26 +020030 generate_jni("generated_jni") {
31 testonly = true
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +010032 sources = [ "java/org/webrtc/examples/androidnativeapi/CallClient.java" ]
Oleh Prypinfdc0ef12018-07-23 10:01:26 +020033 namespace = "webrtc_examples"
34 jni_generator_include = "//sdk/android/src/jni/jni_generator_helper.h"
35 }
Sami Kalliomäki3e77afd2018-03-08 16:43:16 +010036
Oleh Prypinfdc0ef12018-07-23 10:01:26 +020037 rtc_shared_library("examples_androidnativeapi_jni") {
38 testonly = true
39 sources = [
Steve Anton10542f22019-01-11 09:11:00 -080040 "jni/android_call_client.cc",
41 "jni/android_call_client.h",
Oleh Prypinfdc0ef12018-07-23 10:01:26 +020042 "jni/onload.cc",
43 ]
Sami Kalliomäki3e77afd2018-03-08 16:43:16 +010044
Oleh Prypinfdc0ef12018-07-23 10:01:26 +020045 suppressed_configs += [ "//build/config/android:hide_all_but_jni_onload" ]
46 configs += [ "//build/config/android:hide_all_but_jni" ]
Sami Kalliomäki3e77afd2018-03-08 16:43:16 +010047
Oleh Prypinfdc0ef12018-07-23 10:01:26 +020048 deps = [
49 ":generated_jni",
Mirko Bonadeid9708072019-01-25 20:26:48 +010050 "../../api:scoped_refptr",
Markus Handell06d034f2020-07-07 09:17:56 +020051 "../../rtc_base/synchronization:mutex",
Oleh Prypinfdc0ef12018-07-23 10:01:26 +020052 "//api:libjingle_peerconnection_api",
Danil Chapovalov4ba04b72019-06-26 15:49:47 +020053 "//api/rtc_event_log:rtc_event_log_factory",
Danil Chapovalov03b4f9d2019-05-16 19:02:10 +020054 "//api/task_queue:default_task_queue_factory",
Oleh Prypinfdc0ef12018-07-23 10:01:26 +020055 "//media:rtc_audio_video",
56 "//media:rtc_internal_video_codecs",
Danil Chapovalov03b4f9d2019-05-16 19:02:10 +020057 "//media:rtc_media_engine_defaults",
Artem Titov94b57c02019-03-21 13:35:10 +010058 "//modules/utility",
Oleh Prypinfdc0ef12018-07-23 10:01:26 +020059 "//pc:libjingle_peerconnection",
Artem Titov94b57c02019-03-21 13:35:10 +010060 "//rtc_base",
Oleh Prypinfdc0ef12018-07-23 10:01:26 +020061 "//rtc_base:rtc_base_approved",
62 "//sdk/android:native_api_base",
63 "//sdk/android:native_api_jni",
64 "//sdk/android:native_api_video",
Oleh Prypinfdc0ef12018-07-23 10:01:26 +020065 ]
66 }
Sami Kalliomäki3e77afd2018-03-08 16:43:16 +010067
Oleh Prypinfdc0ef12018-07-23 10:01:26 +020068 android_resources("resources") {
69 testonly = true
Oleh Prypinfdc0ef12018-07-23 10:01:26 +020070 custom_package = "org.webrtc.examples.androidnativeapi"
Andrew Grieved4262df2020-03-25 12:59:50 -040071 sources = [
72 "res/layout/activity_main.xml",
73 "res/values/strings.xml",
74 ]
75
76 # Needed for Bazel converter.
77 resource_dirs = [ "res" ]
78 assert(resource_dirs != []) # Mark as used.
Oleh Prypinfdc0ef12018-07-23 10:01:26 +020079 }
Sami Kalliomäki3e77afd2018-03-08 16:43:16 +010080}