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

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

Obua'yı Gradle ve CMake ile Entegre Edin

Bu talimatlar, CMake ile yerel bağımlıları kullanan Android Gradle eklentisi 4.1.0 veya sonraki bir sürümü kullanan projeler için geçerlidir.

Projeniz CMake yerine Android Gradle eklentisinin 4.0 veya ndk-build sürümünü kullanıyorsa süreç biraz farklı olur. Yerel bağımlılıkları kullanma başlıklı makaleyi inceleyin.

build.gradle dosyasını güncelleyin

Android Gradle eklentisinin 4.1.0 veya sonraki 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 son kararlı sürümünü kullanın.

    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üncelle

Obua eklemek için uygulamanızın CMakeLists.txt dosyasına iki ekleme yapılması gerekir.

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

    find_package (oboe REQUIRED CONFIG)
    
  2. oboe::oboe dosyasını, ana yürütülebilir dosyanızla ilişkilendirilmiş target_link_libraries komutuna iletilen kitaplık listesine ekleyin.

Android Game SDK ile entegrasyon

  1. Kitaplıkı indirin ve kaynak kontrol sisteminize kontrol edin.

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

Statik kitaplık

Android Game SDK ile entegrasyon yaptığınızda, belirli ABI, API düzeyi, NDK ve STL kombinasyonu için derlenen Oboe kitaplığının sürümüne statik olarak bağlantı oluşturursunuz:

  1. Derleyiciyi dahil etme yollarınıza gamesdk/include ekleyin.
  2. Bağlayıcı kitaplığı yollarınıza aşağıdaki biçimden 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 sayede statik bağlantı çok daha küçük bir kod ayak izi verir.

Paylaşılan kitaplık

Ayarlarınız için statik bir kitaplıkta gerekli olan ABI, API düzeyi, NDK ve STL kombinasyonu yoksa bunun yerine paylaşılan kitaplıkla bağlantı oluşturabilirsiniz:

  1. Derleyicinizin dahil etme yollarını güncellemek için uygun bölümün bir önceki bölümünde yer alan 1 ve 2. adımları uygulayın ve uygun başlık dosyasını kullanın.

  2. Bağlayıcı kitaplığı yollarınıza aşağıdaki biçimden 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. gamesdk'ı içeren klasörde 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ıza ait target_link_libraries içerisinde, bağımlı olarak oboe öğesini 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

Oboe ile ses çalmak veya kaydetmek için bir ya da 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. Obeo'yu kullanma bölümüne göz atın.