Oboe için derleme ayarlarınızı güncelleme

Obua kitaplığını projenize dahil etmenin iki yolu vardır.

Obuayı Gradle ve CMake ile Entegre Etme

Bu talimatlar, CMake ile yerel bağımlılıkların kullanıldığı, Android Gradle eklentisi 4.1.0 veya üzeri sürümleri kullanan projeler içindir.

Projeniz, CMake yerine Android Gradle eklentisi 4.0 sürümünü veya ndk-build sürümünü kullanıyorsa süreç biraz daha farklıdır. Yerel bağımlılıkları kullanma bölümünü inceleyin.

build.gradle dosyasını güncelleyin

Android Gradle eklentisi 4.1.0 veya sonraki bir sürümünü kullanırken uygulamanıza Obua'yı eklemek için uygulamanızın build.gradle dosyasına aşağıdaki eklemeleri yapın.

  1. oboe bağımlılığını dependencies bölümüne ekleyin. Gerekirse 1.5.0 öğesini Oboe'nun en son kararlı sürümüyle değiştirin:

    dependencies {
        implementation 'com.google.oboe:oboe:1.5.0'
    }
    
  2. buildFeatures bölümünde prefab seçeneğini etkinleştirin.

    android {
        buildFeatures {
            prefab true
        }
    }
    
  3. Uygulamanızı paylaşılan STL'yi kullanacak şekilde yapılandırın:

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

CMakeLists.txt dosyasını güncelleyin

Obua'yı eklemek için uygulamanızın CMakeLists.txt dosyasına iki kez eklenmesi gerekir.

  1. Aşağıdaki find_package komutunu ekleyin:

    find_package (oboe REQUIRED CONFIG)
    
  2. Yürütülebilir ana dosyanızla ilişkili target_link_libraries komutuna iletilen kitaplık listesine oboe::oboe öğesini ekleyin.

Android Oyun SDK'sı ile entegre etme

  1. Kitaplığı indirin ve kaynak kontrol sisteminizde kontrol edin.

  2. Projenizin derleme ayarlarında aşağıdaki değişiklikleri yapın.

Statik kitaplık

Android Oyun SDK'sı ile entegrasyon yaptığınızda, belirli bir ABI, API düzeyi, NDK ve STL kombinasyonu için derlenmiş bir Oboe kitaplığı sürümüne statik bağlantı verirsiniz:

  1. Derleyicinize gamesdk/include kodunu ekleyin ve yol içerir.
  2. Bağlayıcı kitaplığı yollarınıza aşağıdaki formun bir yolunu ekleyin:

    gamesdk/libs/architecture_APIapiLevel_NDKndkVersion_stlVersion_Release
    

    Örneğin: gamesdk/libs/arm64-v8a_API24_NDK18_cpp_static_Release

  3. Bağlayıcı komutunuza -loboe_static ekleyin.

liboboe.so paylaşılan kitaplığını gruplandırmanıza gerek yoktur. Yani statik bağlantı size çok daha küçük bir kod alanı sağlar.

Paylaşılan kitaplık

Statik kitaplık için gereken ABI, API düzeyi, NDK ve STL kombinasyonu ayarlarınızda kullanılamıyorsa bunun yerine paylaşılan kitaplıkla bağlantı oluşturabilirsiniz:

  1. Derleyicinizi dahil etme yollarını güncellemek ve uygun üstbilgi dosyasını kullanmak için önceki bölümde bulunan (statik kitaplık hakkında) 1. ve 2. adımları izleyin.

  2. Bağlayıcı kitaplığı yollarınıza aşağıdaki formun bir yolunu ekleyin:

    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. add_gamesdk_target işlevini, gamesdk'ı içeren klasörle çağırın:

    // Use a relative or absolute path.
    add_gamesdk_target(PACKAGE_DIR path/to/gamesdk)
    
  3. Yerel kitaplığınızdaki target_link_libraries bölümüne bağımlılık olarak oboe ekleyin:

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

CMake'in gelişmiş kullanımı için gamesdk.cmake kaynak dosyasını inceleyin.

Sonraki adımlar: Obua'yı kullanma

Obue ile ses çalmak veya kaydetmek için bir veya daha fazla ses akışı oluşturup etkinleştirin ve ses giriş/çıkış cihazlarınız ile uygulamanız arasında ses alışverişi yapmak için geri çağırmaları kullanın. Oboe'yu kullanma bölümünü inceleyin.