Memperbarui setelan build untuk Oboe

Ada dua cara untuk menyertakan library Oboe ke dalam project Anda.

Mengintegrasikan Oboe dengan Gradle dan CMake

Petunjuk ini ditujukan untuk project yang menggunakan plugin Android Gradle versi 4.1.0 atau yang lebih baru menggunakan dependensi native dengan CMake.

Jika project Anda menggunakan plugin Android Gradle versi 4.0 atau ndk-build dan bukan CMake, prosesnya akan sedikit berbeda. Lihat Menggunakan dependensi native.

Memperbarui build.gradle

Untuk menambahkan Oboe ke aplikasi Anda saat menggunakan plugin Android Gradle versi 4.1.0 atau yang lebih baru, lakukan penambahan berikut ke file build.gradle aplikasi Anda.

  1. Tambahkan dependensi oboe ke bagian dependencies. Jika perlu, ganti 1.5.0 dengan versi stabil terbaru Oboe:

    dependencies {
        implementation 'com.google.oboe:oboe:1.5.0'
    }
    
  2. Aktifkan opsi prefab di bagian buildFeatures.

    android {
        buildFeatures {
            prefab true
        }
    }
    
  3. Konfigurasikan aplikasi Anda untuk menggunakan STL bersama:

    android {
        defaultConfig {
            externalNativeBuild {
                cmake {
                    arguments "-DANDROID_STL=c++_shared"
                }
            }
        }
    }
    

Memperbarui CMakeLists.txt

Untuk menambahkan Oboe, Anda harus melakukan dua penambahan ke file CMakeLists.txt aplikasi.

  1. Tambahkan perintah find_package berikut:

    find_package (oboe REQUIRED CONFIG)
    
  2. Tambahkan oboe::oboe ke daftar library yang diteruskan ke perintah target_link_libraries yang terkait dengan file utama yang dapat dieksekusi.

Mengintegrasikan dengan Android Game SDK

  1. Download library dan periksa di sistem kontrol sumber Anda.

  2. Lakukan perubahan berikut pada setelan build project Anda.

Library statis

Saat mengintegrasikan dengan Android Game SDK, Anda secara statis menautkan ke versi library Oboe yang dikompilasi untuk kombinasi ABI, API level, NDK, dan STL tertentu:

  1. Tambahkan gamesdk/include ke jalur penyertaan compiler.
  2. Tambahkan jalur dari formulir berikut di jalur library linker Anda:

    gamesdk/libs/architecture_APIapiLevel_NDKndkVersion_stlVersion_Release
    

    Contoh: gamesdk/libs/arm64-v8a_API24_NDK18_cpp_static_Release

  3. Tambahkan -loboe_static ke perintah linker Anda.

Anda tidak harus memaketkan library bersama liboboe.so, artinya penautan statis memberi Anda jejak kode yang jauh lebih kecil.

Library bersama

Jika kombinasi ABI, API level, NDK, dan STL yang diperlukan untuk library statis tidak tersedia untuk setelan Anda, sebagai gantinya Anda dapat menautkan ke library bersama:

  1. Ikuti langkah 1 dan 2 dari bagian sebelumnya (tentang library statis) untuk memperbarui jalur penyertaan compiler, dan menggunakan file header yang sesuai.

  2. Tambahkan jalur dari formulir berikut di jalur library penaut Anda:

    gamesdk/libs/architectureAPIapiLevelNDKndkVersion_stlVersion_Release/lib/oboe

  3. Add -loboe -lOpenSLES to your linker command.

Using CMake (static library only)

If you're using CMake, see the gamesdk/samples/bouncyball/app/CMakeLists.txt file in the downloaded SDK for an example CMake configuration. It includes a utility file called gamesdk/samples/gamesdk.cmake, which performs final checks, adds the proper compiler include paths, and generates a target that you can use to link the library.

To use the gamesdk.cmake utility:

  1. Include this file in your CMakeLists.txt:

    // Use a relative or absolute path. For example, /home/yourusername/gamesdk
    // or C:\Android\gamesdk.
    include("path/to/gamesdk/samples/gamesdk.cmake")
    

  2. Panggil fungsi add_gamesdk_target dengan folder berisi gamesdk:

    // Use a relative or absolute path.
    add_gamesdk_target(PACKAGE_DIR path/to/gamesdk)
    
  3. Dalam target_link_libraries untuk library native, tambahkan oboe sebagai dependensi:

    // The casing of OpenSLES is important.
    target_link_libraries(native-lib oboe OpenSLES ...) 
    

Untuk penggunaan CMake lanjutan, lihat gamesdk.cmake file sumber.

Langkah berikutnya: menggunakan Oboe

Untuk memutar atau merekam audio dengan Oboe, buat dan aktifkan satu atau beberapa streaming audio, lalu gunakan callback untuk bertukar audio antara perangkat input/output audio dan aplikasi Anda. Lihat Menggunakan Oboe.