יש שתי דרכים לשלב את ספריית 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
בגרסה היציבה האחרונה של אבוב: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
כדי להוסיף 'אבוב', נדרשות שתי תוספות לקובץ CMakeLists.txt
של האפליקציה.
מוסיפים את הפקודה הבאה של
find_package
:find_package (oboe REQUIRED CONFIG)
הוספת
oboe::oboe
לרשימת הספריות שמועברות אל פקודתtarget_link_libraries
שמשויכת לקובץ ההפעלה הראשי.
שילוב עם ה-SDK של המשחק ב-Android
מורידים את הספרייה ובודקים אותו לתוך מערכת בקרת המקורות.
צריך לבצע את השינויים הבאים בהגדרות ה-build של הפרויקט.
ספרייה סטטית
בשילוב עם 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 מהקטע הקודם (מידע על הספרייה הסטטית) כדי לעדכן את המהדר (compiler) שלכם, לכלול נתיבים ולהשתמש בקובץ הכותרת המתאים.
מוסיפים נתיב מהטופס הבא לנתיבים של ספריית המקשרים:
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
עם התיקייה שמכילה the 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, צריך ליצור ולהפעיל אודיו אחד או יותר בסטרימינג, ולהשתמש בקריאות חוזרות כדי להעביר אודיו בין קלט/פלט האודיו מכשירים והאפליקציה שלך. ראו שימוש אבוב.