1*d9f75844SAndroid Build Coastguard Workerimport("//webrtc.gni") 2*d9f75844SAndroid Build Coastguard Worker 3*d9f75844SAndroid Build Coastguard Workerif (is_android) { 4*d9f75844SAndroid Build Coastguard Worker rtc_android_apk("androidnativeapi") { 5*d9f75844SAndroid Build Coastguard Worker testonly = true 6*d9f75844SAndroid Build Coastguard Worker apk_name = "androidnativeapi" 7*d9f75844SAndroid Build Coastguard Worker android_manifest = "AndroidManifest.xml" 8*d9f75844SAndroid Build Coastguard Worker min_sdk_version = 21 9*d9f75844SAndroid Build Coastguard Worker target_sdk_version = 31 10*d9f75844SAndroid Build Coastguard Worker 11*d9f75844SAndroid Build Coastguard Worker sources = [ 12*d9f75844SAndroid Build Coastguard Worker "java/org/webrtc/examples/androidnativeapi/CallClient.java", 13*d9f75844SAndroid Build Coastguard Worker "java/org/webrtc/examples/androidnativeapi/MainActivity.java", 14*d9f75844SAndroid Build Coastguard Worker ] 15*d9f75844SAndroid Build Coastguard Worker 16*d9f75844SAndroid Build Coastguard Worker deps = [ 17*d9f75844SAndroid Build Coastguard Worker ":resources", 18*d9f75844SAndroid Build Coastguard Worker "//modules/audio_device:audio_device_java", 19*d9f75844SAndroid Build Coastguard Worker "//rtc_base:base_java", 20*d9f75844SAndroid Build Coastguard Worker "//sdk/android:camera_java", 21*d9f75844SAndroid Build Coastguard Worker "//sdk/android:surfaceviewrenderer_java", 22*d9f75844SAndroid Build Coastguard Worker "//sdk/android:video_api_java", 23*d9f75844SAndroid Build Coastguard Worker "//sdk/android:video_java", 24*d9f75844SAndroid Build Coastguard Worker "//third_party/androidx:androidx_annotation_annotation_java", 25*d9f75844SAndroid Build Coastguard Worker ] 26*d9f75844SAndroid Build Coastguard Worker 27*d9f75844SAndroid Build Coastguard Worker shared_libraries = [ ":examples_androidnativeapi_jni" ] 28*d9f75844SAndroid Build Coastguard Worker } 29*d9f75844SAndroid Build Coastguard Worker 30*d9f75844SAndroid Build Coastguard Worker generate_jni("generated_jni") { 31*d9f75844SAndroid Build Coastguard Worker testonly = true 32*d9f75844SAndroid Build Coastguard Worker sources = [ "java/org/webrtc/examples/androidnativeapi/CallClient.java" ] 33*d9f75844SAndroid Build Coastguard Worker namespace = "webrtc_examples" 34*d9f75844SAndroid Build Coastguard Worker jni_generator_include = "//sdk/android/src/jni/jni_generator_helper.h" 35*d9f75844SAndroid Build Coastguard Worker } 36*d9f75844SAndroid Build Coastguard Worker 37*d9f75844SAndroid Build Coastguard Worker rtc_shared_library("examples_androidnativeapi_jni") { 38*d9f75844SAndroid Build Coastguard Worker testonly = true 39*d9f75844SAndroid Build Coastguard Worker sources = [ 40*d9f75844SAndroid Build Coastguard Worker "jni/android_call_client.cc", 41*d9f75844SAndroid Build Coastguard Worker "jni/android_call_client.h", 42*d9f75844SAndroid Build Coastguard Worker "jni/onload.cc", 43*d9f75844SAndroid Build Coastguard Worker ] 44*d9f75844SAndroid Build Coastguard Worker 45*d9f75844SAndroid Build Coastguard Worker suppressed_configs += [ "//build/config/android:hide_all_but_jni_onload" ] 46*d9f75844SAndroid Build Coastguard Worker configs += [ "//build/config/android:hide_all_but_jni" ] 47*d9f75844SAndroid Build Coastguard Worker 48*d9f75844SAndroid Build Coastguard Worker deps = [ 49*d9f75844SAndroid Build Coastguard Worker ":generated_jni", 50*d9f75844SAndroid Build Coastguard Worker "../../api:scoped_refptr", 51*d9f75844SAndroid Build Coastguard Worker "../../api:sequence_checker", 52*d9f75844SAndroid Build Coastguard Worker "../../rtc_base/synchronization:mutex", 53*d9f75844SAndroid Build Coastguard Worker "//api:libjingle_peerconnection_api", 54*d9f75844SAndroid Build Coastguard Worker "//api/rtc_event_log:rtc_event_log_factory", 55*d9f75844SAndroid Build Coastguard Worker "//api/task_queue:default_task_queue_factory", 56*d9f75844SAndroid Build Coastguard Worker "//media:rtc_audio_video", 57*d9f75844SAndroid Build Coastguard Worker "//media:rtc_internal_video_codecs", 58*d9f75844SAndroid Build Coastguard Worker "//media:rtc_media_engine_defaults", 59*d9f75844SAndroid Build Coastguard Worker "//modules/utility", 60*d9f75844SAndroid Build Coastguard Worker "//pc:libjingle_peerconnection", 61*d9f75844SAndroid Build Coastguard Worker "//rtc_base", 62*d9f75844SAndroid Build Coastguard Worker "//sdk/android:native_api_base", 63*d9f75844SAndroid Build Coastguard Worker "//sdk/android:native_api_jni", 64*d9f75844SAndroid Build Coastguard Worker "//sdk/android:native_api_video", 65*d9f75844SAndroid Build Coastguard Worker ] 66*d9f75844SAndroid Build Coastguard Worker } 67*d9f75844SAndroid Build Coastguard Worker 68*d9f75844SAndroid Build Coastguard Worker android_resources("resources") { 69*d9f75844SAndroid Build Coastguard Worker testonly = true 70*d9f75844SAndroid Build Coastguard Worker custom_package = "org.webrtc.examples.androidnativeapi" 71*d9f75844SAndroid Build Coastguard Worker sources = [ 72*d9f75844SAndroid Build Coastguard Worker "res/layout/activity_main.xml", 73*d9f75844SAndroid Build Coastguard Worker "res/values/strings.xml", 74*d9f75844SAndroid Build Coastguard Worker ] 75*d9f75844SAndroid Build Coastguard Worker 76*d9f75844SAndroid Build Coastguard Worker # Needed for Bazel converter. 77*d9f75844SAndroid Build Coastguard Worker resource_dirs = [ "res" ] 78*d9f75844SAndroid Build Coastguard Worker assert(resource_dirs != []) # Mark as used. 79*d9f75844SAndroid Build Coastguard Worker } 80*d9f75844SAndroid Build Coastguard Worker} 81