Configura un progetto per l'utilizzo dell'estensione Android Game Development.
L'estensione Android Game Development chiama MSBuild per creare il codice sorgente C/C++
librerie statiche (.so
) e statiche (.a
). Nell'ambito del processo di creazione,
un'attività MSBuild personalizzata richiama Gradle per compilare il codice sorgente Java e Kotlin,
asset del pacchetto e generare un file APK per il deployment. Quando configuri
devi assicurarti che MSBuild abbia le informazioni necessarie per la creazione
la piattaforma Android.
Creazione C/C++ con MSBuild
Un tipico progetto Android viene creato con Gradle, dove il codice nativo all'interno viene creato da un pass Gradle che esegue CMake ndk-build. Con l'estensione Android Game Development per le immagini Studio, il processo di compilazione viene invertito. MSBuild è il punto di partenza un processo di compilazione. Tutto il codice sorgente C/C++ viene creato prima da MSBuild per il nuovo le piattaforme Android installate sul sistema come parte dell'estensione (per ad esempio "Android-x86_64"). MSBuild richiama quindi Gradle per pacchettizzare i file che contengono la tua logica C/C++ in un APK.
Devi prima replicare la logica di build esistente del progetto in CMake o ndk-build in MSBuild. Imposta le piattaforme di destinazione come segue:
- Android-x86
- Android-x86_64
- Android-armeabi-v7a
- Android-arm64-v8a
Queste piattaforme sono tutte fornite dall'estensione Android Game Development.
Aggiungi una piattaforma Android
Anche se il progetto di esempio Teiera include le piattaforme Android, devi manualmente Aggiungere una piattaforma Android a un progetto esistente. Per aggiungere una nuova piattaforma, procedi nel seguente modo: in Visual Studio:
- Seleziona Crea > Configuration Manager.
- In Piattaforma della soluzione attiva, seleziona <Nuovo>.
Digita una delle seguenti opzioni per la nuova piattaforma:
- Android-armeabi-v7a
- Android-arm64-v8a
- Android x86
- Android-x86_64
Nella casella Copia impostazioni da, seleziona un altro dispositivo Android esistente o <Vuoto> se non disponi ancora di piattaforme Android. Assicurati di aver abilitato Crea nuove piattaforme di progetto.
Aggiungi un elemento dell'APK Android
Seleziona Aggiungi > Nuovo elemento > Visual C++ > Android > APK Android e fai clic Aggiungi. Configura l'applicazione Android nella finestra di dialogo che segue.
- Nome applicazione. Il nome leggibile della tua applicazione Android.
- ID applicazione: l'identificatore univoco per la tua applicazione Android.
- Percorso di Esplorazione soluzioni: percorso della cartella virtuale che contiene i file di supporto dei pacchetti Android aggiunti. Per impostazione predefinita, questi file vengono nel progetto in una cartella con lo stesso nome. Puoi personalizzare selezionando Inserisci i file di assistenza in una posizione personalizzata e specificare una località personalizzata. La cartella virtuale continuerà nel progetto corrente in Esplora soluzioni.
Fai in modo che MSBuild richiami Gradle per creare un APK
MSBuild non può richiamare Gradle se non conosce la posizione del progetto Gradle. Imposta questa località utilizzando la proprietà Gradle Build Directory, come come mostrato nella figura 1.
Figura 1. Proprietà Gradle Build Directory
Inoltre, imposta il Modulo dell'applicazione, la Variante dell'applicazione e l'APK Nome (come mostrato nell'immagine precedente) in modo che MSBuild lo sappia cosa creare.
- Modulo di applicazione: il nome del sottoprogetto Gradle. Questo è il principale
progetto impostato nel file
settings.gradle
. Di solito è chiamatoapp
per a progetti creati direttamente con Android Studio. - Variante dell'applicazione: la variante Android da creare. Questo valore deve essere
impostate in base alle configurazioni MSBuild. Ad esempio, una build di debug
deve avere un valore impostato sulla variante di debug. Se lo script MSBuild del progetto
del nome della configurazione corrisponda ai nomi delle varianti Gradle, quindi utilizza il metodo
valore predefinito di
$(Configuration)
. - Nome APK: il nome del file APK generato, utilizzato per il debug e
la profilazione del computer sul computer di sviluppo. Questo nome viene passato a Gradle
lo script di build Gradle deve rispettarlo (vedi la proprietà
MSBUILD_ANDROID_OUTPUT_APK_NAME
nella sezione seguente).
Modificare gli script di build Gradle
Durante la creazione, MSBuild passa le seguenti informazioni come proprietà del progetto
allo script Gradle. Modifica gli script di build esistenti del progetto (in genere
denominato build.gradle
) per leggere queste proprietà.
MSBUILD_MIN_SDK_VERSION
: la versione minima dell'SDK per la creazione dell'APK. Imposta questo valore nella casella Versione minima dell'SDK Android sul progetto della proprietà mostrata nella figura 2.
Figura 2. Proprietà Versione minima dell'SDK AndroidLo script di build Gradle deve impostare
minSdkVersion
su questo valore, come mostrato di seguito.Alla moda
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
: il nome previsto dell'APK che Gradle le build. L'estensione Android Game Development cercherà un APK corrispondente a questo nome. e poi implementarla sui dispositivi connessi (per il debug e la profilazione). Imposta questo nella casella Nome APK nella pagina della proprietà del progetto mostrata nella figura 3.
Figura 3. Proprietà Nome APKLo script di build Gradle deve rispettare questa proprietà. Ad esempio, nell'esempio seguente il nome dell'APK di output per tutte le varianti viene impostato sul nome scelto da MSBuild.
Alla moda
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
: la directory contenente le librerie condivise (.so
file) creato da MSBuild. Imposta questo valore nella directory di output nella pagina delle proprietà del progetto mostrata di seguito. Per impostazione predefinita, questo valore è della directory di output per il progetto Visual Studio, come mostrato nella figura 4.
Figura 4. Proprietà Directory di outputGradle deve pacchettizzare i file della libreria condivisa all'interno dell'APK per consentire all'applicazione Android di caricarli in fase di esecuzione.
Alla moda
android { // ... sourceSets { main { jniLibs.srcDirs += [MSBUILD_JNI_LIBS_SRC_DIR] } } // ... }
Kotlin
android { // ... sourceSets.getByName("main") { jniLibs.srcDir(MSBUILD_JNI_LIBS_SRC_DIR) } // ... }
Inoltre, poiché ora qualsiasi codice C/C++ viene creato da MSBuild, rimuovi
externalNativeBuild
sezioni nei tuoi script di build Gradle. Queste sezioni sono stati utilizzati per richiamare CMake o ndk-build per compilare il codice C/C++, non serve più.MSBUILD_NDK_VERSION
: la versione dell'NDK da utilizzare per creare progetto. Imposta questo valore nella casella Versione Android NDK sulla della proprietà del progetto mostrata nella figura 5.
Figura 5. Proprietà della versione Android NDKLo script di build Gradle deve impostare
ndkVersion
su questo valore, come mostrato:Alla moda
android { // ... ndkVersion MSBUILD_NDK_VERSION // ... }
Kotlin
android { // ... ndkVersion = MSBUILD_NDK_VERSION // ... }
Per ulteriori informazioni, consulta l'argomento relativo ad Android Studio Installa e configura NDK e CMake.