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, Android Gradle eklentisi 4.1.0 veya sonraki bir sürümü kullanan projeler içindir. yerel bağımlılıkları kullanarak kullanabilirsiniz.

Projenizde Android Gradle eklentisi 4.0 sürümü veya CMake yerine ndk-build için bu işlem biraz daha farklıdır. Yerel bağımlılıkları kullanma bölümüne bakın.

build.gradle dosyasını güncelleyin

Android Gradle eklentisi 4.1.0 sürümünü kullanırken Obua'yı uygulamanıza eklemek için daha yüksek olması durumunda 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 en son kararlı sürümle değiştirin Obua:

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

Oboe'yu eklemek için uygulamanızın CMakeLists.txt dosyasına iki ekleme yapılması gerekiyor.

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

    find_package (oboe REQUIRED CONFIG)
    
  2. oboe::oboe dosyasını Yürütülebilir ana dosyanızla ilişkili target_link_libraries komutu.

Android Oyun SDK'sı ile entegrasyon

  1. Kitaplığı indirin ve kontrol edin kaynak kontrol sisteminize aktarın.

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

ziyaret edin.

Statik kitaplık

Android Oyun SDK'sı ile entegrasyon yaptığınızda, sabit olarak bir sürüme bağlantı verirsiniz. : belirtilen ABI, API düzeyi, NDK ve STL için derlenen Oboe kitaplığının kombinasyon:

  1. gamesdk/include öğesini derleyicinize yol ekleyin.
  2. Bağlayıcı kitaplığı yollarınıza aşağıdaki formun 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ı paketlemenize gerek yoktur, yani statik bağlantı çok daha küçük bir kod ayak izi sağlar.

Paylaşılan kitaplık

Statik bir kitaplık için ABI, API düzeyi, NDK ve STL kombinasyonu gerekiyorsa ayarlarınızda kullanılamıyor. Paylaşılan kitaplığa karşı bağlantı oluşturabilirsiniz aşağıdaki adımları uygulayabilirsiniz:

  1. Önceki bölümde yer alan (statik kitaplık hakkında) 1. ve 2. adımları uygulayarak derleyicinizi güncelleyin ve uygun başlık dosyasını kullanın.

  2. Bağlayıcı kitaplığı yollarınıza aşağıdaki formun 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. Şu dosyayı içeren klasörle birlikte add_gamesdk_target işlevini çağırın: gamesdk:

    // Use a relative or absolute path.
    add_gamesdk_target(PACKAGE_DIR path/to/gamesdk)
    
  3. Yerel kitaplığınız için target_link_libraries içinde Bağımlılık olarak oboe:

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

CMake'in gelişmiş kullanımı için bkz. gamesdk.cmake kaynak dosya.

Sonraki adımlar: Ooe'yu kullanma

Oboe ile ses çalmak veya kaydetmek için bir veya daha fazla ses oluşturup etkinleştirin akış gerçekleştirin ve ses giriş/çıkışınız arasında ses alışverişi yapmak için geri çağırmaları kullanın cihazlar ve uygulamanız. Bkz. Obua.