Proje yapılandırma

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:

  1. Derleme > Configuration Manager'ı (Yapılandırma Yöneticisi) tıklayın.
  2. Etkin çözüm platformu bölümünde <Yeni>'yi seçin.
  3. Yeni platform için aşağıdakilerden birini yazın:

    • Android-armeabi-v7a
    • Android kol 64-v8a
    • Android x86
    • Android-x86_64
  4. 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. Genellikle app 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ği

    Gradle 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ği

    Gradle 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ği

    Gradle, 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.