Android Oyun Geliştirme Uzantısı'nı kullanacak bir projeyi yapılandırın.
Android Oyun Geliştirme Uzantısı, C/C++ kaynak kodunu paylaşılan bir
kitaplıklar (.so
) ve statik kitaplıklar (.a
). Derleme sürecinin bir parçası olarak,
özel MSBuild görevi, Java ve Kotlin kaynak kodunu derlemek için Gradle'ı çağırır.
paket öğelerini kullanabilir ve dağıtım için bir APK dosyası oluşturabilirsiniz.
MSBuild’in geliştirmeleri için gereken bilgilere sahip olduğundan
Android platformu.
MSBuild ile C/C++ derleme
Tipik bir Android projesi Gradle ile oluşturulur. Gradle, projesi, CMake veya ndk-build. Görsel için Android Oyun Geliştirme Uzantısı ile Studio'da, derleme işlemi ters çevrilmiştir. MSBuild, artık geliştirme projelerinin geliştirmenizi sağlar. Tüm C/C++ kaynak kodları, öncelikle yeni Uzantının bir parçası olarak sisteminizde yüklü Android platformları ( "Android-x86_64"). MSBuild daha sonra paylaşılan dosyayı paketlemek için Gradle'ı çağırır mantığınızı içeren kitaplık dosyalarını bir APK'ya dönüştürür.
Öncelikle projenizin mevcut derleme mantığını CMake veya MSBuild'de ndk-build. Hedef platformları aşağıdakilere ayarlayın:
- Android X86
- Android-x86_64
- Android-armeabi-v7a
- Android kol 64-v8a
Bu platformların tümü Android Oyun Geliştirme Uzantısı tarafından sağlanmaktadır.
Android Platformu ekleyin
Çaydanlık örnek projesi Android platformlarını içeriyor olsa da mevcut bir projeye Android platformu eklemek. Yeni bir platform eklemek için aşağıdaki adımları izleyin:
- Derleme > Configuration Manager'ı (Yapılandırma Yöneticisi) tıklayın.
- Etkin çözüm platformu bölümünde <Yeni>'yi seçin.
Yeni platform için aşağıdakilerden birini yazın:
- Android-armeabi-v7a
- Android kol 64-v8a
- Android x86
- Android-x86_64
Ayarları kopyala kutusunda, mevcut başka bir Android cihazı seçin platformu veya henüz Android platformunuz yoksa <Blank>. Yeni proje platformları oluştur seçeneğini etkinleştirdiğinizden emin olun.
Android APK öğesi ekle
Ekle > Yeni Öğe > Visual C++ > Android > Android APK'ya gidin ve Ekle. Aşağıdaki iletişim kutusunda Android uygulamasını yapılandırın.
- Uygulama Adı: Android uygulamanızın kullanıcılar tarafından okunabilen adı.
- Uygulama kimliği: Benzersiz tanımlayıcı Android uygulamanız için.
- Çözüm Gezgini Konumu: Şunu içeren sanal klasörün konumu: eklenen Android paketleme destek dosyalarını yükleyin. Varsayılan olarak bu dosyalar ayrıca aynı ada sahip bir klasörde yer alır. URL'nin Destek dosyalarını özel bir konuma yerleştir'i seçerek bir konum için onay kutusunu tıklayın ve özel bir konum belirtin. Sanal klasör Çözüm Gezgini'nde görebilirsiniz.
APK oluşturmak için MSBuild'in Gradle'ı çağırmasını sağlayın
MSBuild, Gradle projesinin konumunu bilmiyorsa Gradle'ı çağıramaz. Bu konumu, Gradle Derleme Dizini mülkünü kullanarak ayarlayın. Şekil 1'de gösterilmiştir.
Şekil 1. Gradle Derleme Dizini mülkü
Ayrıca, Uygulama Modülü, Uygulama Varyantı ve APK'yı ayarlayın. MSBuild'in bilmesi için mülkleri (önceki resimde gösterildiği gibi) adlandırın gerektiğini düşünün.
- Uygulama Modülü: Gradle alt projesinin adı. Bu,
settings.gradle
dosyasında ayarlanan projedir. Genellikleapp
olarak adlandırılır projelerin doğrudan Android Studio kullanılarak oluşturulması. - Uygulama Varyantı: Oluşturulacak Android varyantı. Bu değer,
MSBuild yapılandırmalarına göre ayarlanır. Örneğin, bir hata ayıklama derlemesi
hata ayıklama varyantına ayarlanmış bir değer olmalıdır. Projenizin MSBuild'i
Gradle varyantı adlarıyla eşleştiğinden emin olmak için
$(Configuration)
varsayılan değerine sahip. - APK Adı: Hata ayıklama ve
profil oluşturma hakkında daha fazla bilgi edinin. Bu ad Gradle'a aktarılır ve
Gradle derleme komut dosyanız buna uymalıdır (
MSBUILD_ANDROID_OUTPUT_APK_NAME
) girebilirsiniz.
Gradle derleme komut dosyalarınızı değiştirme
MSBuild, derleme sırasında aşağıdaki bilgileri proje özellikleri olarak aktarır
komut dosyası olarak devreye soktuk. Projenizin mevcut derleme komut dosyalarını (genellikle
build.gradle
) kullanır.
MSBUILD_MIN_SDK_VERSION
: APK'yı oluşturmak için minimum SDK sürümü. Ayarla projedeki Minimum Android SDK Sürümü kutusunda bu değeri Şekil 2'de gösterilen mülk sayfasıdır.
2. Şekil. Minimum Android SDK Sürümü özelliğiGradle derleme komut dosyası, gösterildiği gibi
minSdkVersion
öğesini bu değere ayarlamalıdır bölümüne göz atın.Eski
android { // ... defaultConfig { applicationId "com.yourcompany.yourapp" minSdkVersion MSBUILD_MIN_SDK_VERSION // ... } // ... }
Kotlin
android { // ... defaultConfig { applicationId = "com.yourcompany.yourapp" minSdkVersion(MSBUILD_MIN_SDK_VERSION) // ... } // ... }
MSBUILD_ANDROID_OUTPUT_APK_NAME
: Gradle'ın beklenen adı inşa eder. Android Oyun Geliştirme Uzantısı bu adla eşleşen bir APK arar ve daha sonra bağlı cihazlara dağıtabilirsiniz (hata ayıklama ve profil oluşturma için). Bunu ayarla değeri, şekil 3'te gösterilen proje özelliği sayfasındaki APK Adı kutusunda bulunur.
3. Şekil. APK Adı özelliğiGradle derleme komut dosyası bu özelliğe uymalıdır. Örneğin, aşağıdaki örnekte, tüm varyantların çıkış APK'sı adı şu ada ayarlıdır: MSBuild tarafından seçilir.
Eski
android { // ... applicationVariants.all { variant -> variant.outputs.all { outputFileName = MSBUILD_ANDROID_OUTPUT_APK_NAME } } // ... }
Kotlin
android { // ... applicationVariants.all { variant -> variant.outputs.all { outputFileName = MSBUILD_ANDROID_OUTPUT_APK_NAME } } // ... }
MSBUILD_JNI_LIBS_SRC_DIR
: Paylaşılan kitaplıkları içeren dizin (.so
dosya) MSBuild tarafından derlendi. Bu değeri Çıkış Dizini'nde ayarlayın kutusunu işaretleyin. Varsayılan olarak bu değer çıkış dizini özelliğini içermelidir (Şekil 4'te gösterildiği gibi).
4. Şekil. Çıkış Dizini özelliğiGradle, bu klasördeki paylaşılan kitaplık dosyalarını APK'nın içinde paketlemelidir Android uygulamasının bunları çalışma zamanında yüklemesi için.
Eski
android { // ... sourceSets { main { jniLibs.srcDirs += [MSBUILD_JNI_LIBS_SRC_DIR] } } // ... }
Kotlin
android { // ... sourceSets.getByName("main") { jniLibs.srcDir(MSBUILD_JNI_LIBS_SRC_DIR) } // ... }
Ayrıca, tüm C/C++ kodları artık MSBuild tarafından derlendiği için, Gradle derleme komut dosyalarınızda
externalNativeBuild
bölüm var. Bu bölümler C/C++ kodunuzu derlemek için CMake veya ndk-build'ı çağırmak amacıyla kullanılmıştır ancak artık gerekmiyor.MSBUILD_NDK_VERSION
: Uygulamanızı oluşturmak için kullanılacak NDK sürümü belirler. Bu değeri, proje özelliği sayfası için Şekil 5'te gösterilmiştir.
5. Şekil. Android NDK Sürümü mülküGradle derleme komut dosyası, aşağıda gösterildiği gibi
ndkVersion
öğesini bu değere ayarlamalıdır:Eski
android { // ... ndkVersion MSBUILD_NDK_VERSION // ... }
Kotlin
android { // ... ndkVersion = MSBUILD_NDK_VERSION // ... }
Daha fazla bilgi için Android Studio konusuna bakın NDK ve CMake'i yükleme ve yapılandırma.