دو راه برای گنجاندن کتابخانه Oboe در پروژه شما وجود دارد.
Oboe را با Gradle و CMake ادغام کنید
این دستورالعملها برای پروژههایی هستند که از پلاگین Android Gradle نسخه 4.1.0 یا بالاتر با استفاده از وابستگیهای بومی با CMake استفاده میکنند.
اگر پروژه شما از پلاگین Android Gradle نسخه 4.0 یا ndk-build
به جای CMake استفاده می کند، روند کمی متفاوت است. استفاده از وابستگی های بومی را ببینید.
build.gradle را به روز کنید
برای افزودن Oboe به برنامه خود در حین استفاده از افزونه Android Gradle نسخه 4.1.0 یا بالاتر، موارد زیر را به فایل build.gradle
برنامه خود اضافه کنید.
وابستگی
oboe
به بخشdependencies
اضافه کنید. در صورت لزوم،1.5.0
با آخرین نسخه پایدار Oboe جایگزین کنید:dependencies { implementation 'com.google.oboe:oboe:1.5.0' }
گزینه
prefab
را در قسمتbuildFeatures
فعال کنید.android { buildFeatures { prefab true } }
برنامه خود را برای استفاده از STL مشترک پیکربندی کنید:
android { defaultConfig { externalNativeBuild { cmake { arguments "-DANDROID_STL=c++_shared" } } } }
CMakeLists.txt را به روز کنید
افزودن Oboe به دو افزودن به فایل CMakeLists.txt
برنامه شما نیاز دارد.
دستور
find_package
زیر را اضافه کنید:find_package (oboe REQUIRED CONFIG)
oboe::oboe
به لیست کتابخانههای ارسال شده به دستورtarget_link_libraries
مرتبط با فایل اجرایی اصلی خود اضافه کنید.
ادغام با Android Game SDK
کتابخانه را دانلود کنید و آن را در سیستم کنترل منبع خود بررسی کنید.
تغییرات زیر را در تنظیمات ساخت پروژه خود اعمال کنید.
کتابخانه ایستا
هنگامی که با Android Game SDK ادغام میشوید، به صورت ایستا به نسخهای از کتابخانه Oboe که برای ترکیب ABI، سطح API، NDK و STL کامپایل شده است، پیوند میدهید:
- مسیرهای شامل
gamesdk/include
به کامپایلر خود اضافه کنید. مسیری از فرم زیر را در مسیرهای کتابخانه پیوند دهنده خود اضافه کنید:
gamesdk/libs/architecture_APIapiLevel_NDKndkVersion_stlVersion_Release
به عنوان مثال:
gamesdk/libs/arm64-v8a_API24_NDK18_cpp_static_Release
-loboe_static
به دستور پیوند دهنده خود اضافه کنید.
نیازی نیست که کتابخانه مشترک liboboe.so
را باندل کنید، به این معنی که پیوند استاتیک ردپای کد بسیار کوچکتری به شما می دهد.
کتابخانه مشترک
اگر ترکیب ABI، سطح API، NDK و STL مورد نیاز برای یک کتابخانه استاتیک برای تنظیمات شما در دسترس نیست، میتوانید در عوض به کتابخانه مشترک پیوند دهید:
مراحل 1 و 2 از بخش قبل (در مورد کتابخانه استاتیک) را برای به روز رسانی مسیرهای شامل کامپایلر خود دنبال کنید و از فایل هدر مناسب استفاده کنید.
مسیری از فرم زیر را در مسیرهای کتابخانه پیوند دهنده خود اضافه کنید:
gamesdk/libs/architectureAPIapiLevelNDKndkVersion_stlVersion_Release/lib/oboe
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:
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")
تابع
add_gamesdk_target
را با پوشه حاوی gamesdk فراخوانی کنید:// Use a relative or absolute path.
add_gamesdk_target(PACKAGE_DIR path/to/gamesdk)
در
target_link_libraries
برای کتابخانه بومی خود،oboe
به عنوان وابستگی اضافه کنید:// The casing of OpenSLES is important.
target_link_libraries(native-lib oboe OpenSLES ...)
برای استفاده پیشرفته از CMake، فایل منبع gamesdk.cmake
را ببینید.
مراحل بعدی: استفاده از ابوا
برای پخش یا ضبط صدا با Oboe، یک یا چند جریان صوتی ایجاد و فعال کنید، و از تماسهای برگشتی برای تبادل صدا بین دستگاههای ورودی/خروجی صوتی و برنامهتان استفاده کنید. استفاده از ابوا را ببینید.