Modyfikowanie plików build.gradle na potrzeby Android Studio

W tym przewodniku opisujemy, jak zmodyfikować pliki build.gradle z projektów AGDE, by otwierać je w Android Studio. Przeznaczony głównie dla inżynierów budowujących, którzy zarządzają projektami AGDE.

Po wprowadzeniu zmian w tym przewodniku:

  • Twórz za pomocą Gradle z poziomu wiersza poleceń i Android Studio.
  • Twórz pliki APK i pakiety aplikacji zgodne z wieloma interfejsami ABI.
  • Edytowanie źródeł z pełną obsługą języka (definicja itp.) w Android Studio.
  • Używaj debugerów Android Studio do debugowania procesów natywnych i mieszanych.

Ta funkcja AGDE opiera się na eksperymentalnej wtyczce Androida do obsługi Gradle, która obsługuje Ninja jako system kompilacji.

Modyfikowanie pliku build.gradle na poziomie projektu

Zmień build.gradle na poziomie projektu, aby odwoływał się do wtyczki Androida do obsługi Gradle w wersji 7.3.0-alfa02 lub nowszej. Na przykład:

buildscript {
    repositories {
       google()
       mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.3.0-alpha02'
    }
}

Po tej zmianie nadal będziesz mieć możliwość tworzenia projektu w Visual Studio. Warto zrobić to teraz, ponieważ będzie łatwiej debugować przed wprowadzeniem zmian poniżej.

Skopiuj run-msbuild.bat do projektu

Próbka herbaty dostarczana z najnowszą wersją AGDE zawiera skrypt o nazwie run-msbuild.bat. Skrypt ten będzie wywoływany z AGP i odpowiada za lokalizowanie i wywoływanie MSBuild.

Skopiuj run-msbuild.bat do folderu zawierającego plik build.gradle na poziomie aplikacji.

Modyfikowanie pliku build.gradle na poziomie aplikacji

Głównym celem tego kroku jest skonfigurowanie wywołania run-msbuild.bat i usunięcie odwołań do zmiennych MSBUILD_*.

Ustaw wersję ndkVersion

Zmień wersję ndkVersion na określoną wersję NDK. Na przykład:

  android {
      ndkVersion "22.1.7171670"
  }

Ustaw parametr minSdkVersion

Zmień minSdkVersion na konkretną minimalną wersję pakietu SDK. Na przykład:

  android {
      defaultConfig {
          minSdkVersion 30
      }
  }

Wywołaj run-msbuild.bat

  1. Dodaj sekcję, która będzie wywoływać funkcję run-msbuild.bat w pliku rozwiązania w projekcie.

       android {
           defaultConfig {
               externalNativeBuild {
                   experimentalProperties["ninja.abiFilters"] = [ "x86", "arm64-v8a" ]
                   experimentalProperties["ninja.path"] = "Teapot.sln"
                   experimentalProperties["ninja.configure"] = "run-msbuild"
                   experimentalProperties["ninja.arguments"] = [
                           "\${ndk.moduleMakeFile}",
                           "-p:Configuration=\${ndk.variantName}",
                           "-p:Platform=Android-\${ndk.abi}",
                           "-p:NinjaBuildLocation=\${ndk.buildRoot}",
                           "-p:NinjaProject=GameApplication",
                           "-p:RequireAndroidNdkVersion=\${ndk.moduleNdkVersion}",
                           "-p:RequireMinSdkVersion=\${ndk.minPlatform}",
                           "-t:GenerateBuildNinja"
                    ]
               }
           }
       }
    
  2. Usuń wszelkie sposoby wykorzystania znaczników MSBUILD_JNI_LIBS_SRC_DIR, MSBUILD_ANDROID_OUTPUT_APK_NAME i MSBUILD_ANDROID_GRADLE_BUILD_OUTPUT_DIR.

    Zwykle można całkowicie usunąć te bloki w pliku build.gradle na poziomie aplikacji.

       sourceSets {
           main {
               jniLibs.srcDirs = [MSBUILD_JNI_LIBS_SRC_DIR]
           }
       }
    
       applicationVariants.all { variant ->
           variant.outputs.all {
               outputFileName = MSBUILD_ANDROID_OUTPUT_APK_NAME
           }
       }
    
       buildDir = MSBUILD_ANDROID_GRADLE_BUILD_OUTPUT_DIR
    

Opinia

To jest funkcja eksperymentalna, więc będziemy wdzięczni za Twoją opinię. Oto jak go podać:

  • Jeśli chcesz podzielić się ogólnymi uwagami i opiniami, możesz dodać komentarz do tego błędu.
  • Aby zgłosić błąd, otwórz Android Studio i kliknij Pomoc/Prześlij opinię. Zwróć uwagę na „Niestandardowe systemy kompilacji C/C++”, aby ułatwić nam kierowanie błędu.
  • Kliknij ten link, jeśli nie masz zainstalowanego Android Studio.