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

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

Oboe'yu Gradle ve CMake ile entegre etme

Bu talimatlar, CMake ile Android Gradle eklentisinin 4.1.0 veya sonraki bir sürümünü kullanan ve yerel bağımlılıklar içeren projeler içindir.

Projenizde CMake yerine Android Gradle eklentisinin 4.0 sürümü veya ndk-build kullanılıyorsa işlem biraz farklıdır. Yerel bağımlılıkları kullanma başlıklı makaleye göz atın.

build.gradle dosyasını güncelleme

Android Gradle eklentisinin 4.1.0 veya daha yeni bir sürümünü kullanırken uygulamanıza Oboe'yu 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 yerine Oboe'nun en son kararlı sürümünü kullanın:

    dependencies {
        implementation 'com.google.oboe:oboe:1.5.0'
    }
    
  2. prefab bölümünde buildFeatures 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üncelleme

Oboe'yu eklemek için uygulamanızın CMakeLists.txt dosyasına iki ekleme yapmanız gerekir.

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

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

Android Game SDK ile entegrasyon

  1. Kitaplığı indirin ve kaynak kontrol sisteminize ekleyin.

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

Statik kitaplık

Android Game SDK'sını entegre ettiğinizde, belirli ABI, API düzeyi, NDK ve STL kombinasyonu için derlenmiş bir Oboe kitaplığı sürümüne statik olarak bağlanırsınız:

  1. Derleyici ekleme yollarınıza gamesdk/include ekleyin.
  2. Bağlayıcı kitaplığı yollarınıza aşağıdaki biçimde bir yol 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ı paketlemeniz gerekmez. Bu da statik bağlamanın çok daha küçük bir kod alanı sağladığı anlamına gelir.

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ığa bağlayabilirsiniz:

  1. Derleyici ekleme yollarınızı güncellemek ve uygun başlık dosyasını kullanmak için önceki bölümdeki (statik kitaplık hakkında) 1. ve 2. adımları uygulayın.

  2. Bağlayıcı kitaplığı yollarınıza aşağıdaki biçimde bir yol 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. Oyun SDK'sını içeren klasörle add_gamesdk_target işlevini çağırın:

    // Use a relative or absolute path.
    add_gamesdk_target(PACKAGE_DIR path/to/gamesdk)
    
  3. Yerel kitaplığınız için target_link_libraries dosyanıza 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ına bakın.

Sonraki adımlar: Oboe'yu kullanma

Oboe ile ses çalmak veya kaydetmek için bir veya daha fazla ses akışı oluşturup etkinleştirin ve geri çağırmaları kullanarak ses giriş/çıkış cihazlarınız ile uygulamanız arasında ses alışverişi yapın. Oboe'yi kullanma başlıklı makaleyi inceleyin.