BUILD.gn (3362B)
1 # Copyright (c) 2020 The WebRTC project authors. All Rights Reserved. 2 # 3 # Use of this source code is governed by a BSD-style license 4 # that can be found in the LICENSE file in the root of the source 5 # tree. An additional intellectual property rights grant can be found 6 # in the file PATENTS. All contributing project authors may 7 # be found in the AUTHORS file in the root of the source tree. 8 9 import("//webrtc.gni") 10 11 if (is_android) { 12 import("//third_party/jni_zero/jni_zero.gni") 13 rtc_android_apk("androidvoip") { 14 testonly = true 15 apk_name = "androidvoip" 16 android_manifest = "AndroidManifest.xml" 17 min_sdk_version = 23 18 target_sdk_version = 31 19 20 sources = [ 21 "java/org/webrtc/examples/androidvoip/MainActivity.java", 22 "java/org/webrtc/examples/androidvoip/OnVoipClientTaskCompleted.java", 23 "java/org/webrtc/examples/androidvoip/VoipClient.java", 24 ] 25 26 deps = [ 27 ":resources", 28 "//rtc_base:base_java", 29 "//sdk/android:base_java", 30 "//sdk/android:java_audio_device_module_java", 31 "//sdk/android:video_java", 32 "//third_party/androidx:androidx_core_core_java", 33 "//third_party/androidx:androidx_legacy_legacy_support_v4_java", 34 ] 35 36 shared_libraries = [ ":examples_androidvoip_jni" ] 37 } 38 39 generate_jni("generated_jni") { 40 testonly = true 41 sources = [ "java/org/webrtc/examples/androidvoip/VoipClient.java" ] 42 namespace = "webrtc_examples" 43 } 44 45 rtc_shared_library("examples_androidvoip_jni") { 46 testonly = true 47 sources = [ 48 "jni/android_voip_client.cc", 49 "jni/android_voip_client.h", 50 "jni/onload.cc", 51 ] 52 53 suppressed_configs += [ "//chromium/build/config/android:hide_all_but_jni_onload" ] 54 configs += [ "//chromium/build/config/android:hide_all_but_jni" ] 55 56 deps = [ 57 ":generated_jni", 58 "../../api:array_view", 59 "../../api:sequence_checker", 60 "../../api/audio:builtin_audio_processing_builder", 61 "../../api/environment", 62 "../../api/environment:environment_factory", 63 "../../rtc_base:async_packet_socket", 64 "../../rtc_base:async_udp_socket", 65 "../../rtc_base:checks", 66 "../../rtc_base:ip_address", 67 "../../rtc_base:logging", 68 "../../rtc_base:macromagic", 69 "../../rtc_base:network", 70 "../../rtc_base:socket", 71 "../../rtc_base:socket_address", 72 "../../rtc_base:socket_server", 73 "../../rtc_base:ssl_adapter", 74 "../../rtc_base:threading", 75 "//api:transport_api", 76 "//api/audio_codecs:audio_codecs_api", 77 "//api/audio_codecs:builtin_audio_decoder_factory", 78 "//api/audio_codecs:builtin_audio_encoder_factory", 79 "//api/units:time_delta", 80 "//api/voip:voip_api", 81 "//api/voip:voip_engine_factory", 82 "//rtc_base/network:received_packet", 83 "//sdk/android:native_api_audio_device_module", 84 "//sdk/android:native_api_base", 85 "//sdk/android:native_api_jni", 86 "//third_party/abseil-cpp/absl/memory", 87 "//third_party/jni_zero", 88 ] 89 } 90 91 android_resources("resources") { 92 testonly = true 93 custom_package = "org.webrtc.examples.androidvoip" 94 sources = [ 95 "res/layout/activity_main.xml", 96 "res/values/colors.xml", 97 "res/values/strings.xml", 98 ] 99 100 # Needed for Bazel converter. 101 resource_dirs = [ "res" ] 102 assert(resource_dirs != []) # Mark as used. 103 } 104 }