Unity 6.3
0 онлайн 72 гостей 3 в системе
Вход
Разработка платформы Шаг 91 из 387

Создание плагина библиотеки Android

Вы можете создать плагин библиотеки Android в Unity. После создания вы можете использовать его непосредственно в вашем проекте Unity или доработать его в Android Studio.

Чтобы создать плагин библиотеки Android, выполните следующие действия:

  1. В проекте Unity создайте папку MyFeature.androidlib. Эта папка будет представлять модуль Gradle.

  2. (Необязательно) Unity создаст build.gradle для вашего .androidlib автоматически при сборке, но если вы хотите это переопределить, создайте файл с именем build.gradle внутри MyFeature.androidlib и добавить следующий код:

    apply plugin: 'com.android.library'
    
    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
    }
    
    android {
        namespace "com.company.myfeature"
        compileSdk getProperty("unity.compileSdkVersion") as int
        buildToolsVersion getProperty("unity.buildToolsVersion")
    
        compileOptions {
            sourceCompatibility JavaVersion.valueOf(getProperty("unity.javaCompatabilityVersion"))
            targetCompatibility JavaVersion.valueOf(getProperty("unity.javaCompatabilityVersion"))
        }
    
        defaultConfig {
            minSdk getProperty("unity.minSdkVersion") as int
            targetSdk getProperty("unity.targetSdkVersion") as int
            ndk {
                abiFilters.addAll(getProperty("unity.abiFilters").tokenize(','))
                debugSymbolLevel getProperty("unity.debugSymbolLevel")
            }
        }
    
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            }
        }
    }
    
  3. Создать следующую структуру папок внутри MyFeature.androidlib папка:
    • src/main
    • src/main/java/com/company/feature (или измените путь к пакету, чтобы он соответствовал вашему желаемому имени пакета)
  4. Создайте файл AndroidManifest.xml внутри папки src/main и добавьте следующий код:

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"/>
    
  5. Создайте файл Java или Kotlin (например, Controller.java) внутри папки src/main/java/com/company/feature/ и добавьте следующий код:

    package com.company.feature;
    
    public class Controller
    {
        public static String getFoo()
        {
            return "This is my feature";
        }
    }
    

Создан плагин библиотеки Android.

Использование плагинов библиотеки Android

Чтобы использовать плагин библиотеки Android в вашем проекте Unity, используйте следующий код:

using UnityEngine;

public class FeatureUser : MonoBehaviour
{
    readonly string ControllerName = "com.company.feature.Controller";
    AndroidJavaClass m_Class;
    void Start()
    {
        m_Class = new AndroidJavaClass(ControllerName);
    }

    private void OnGUI()
    {
        GUILayout.Space(100);
        GUI.skin.label.fontSize = 30;

        if (m_Class != null)
        {
            GUILayout.Label($"{ControllerName}.getFoo() returns " + m_Class.CallStatic<string>("getFoo"));
        }
        else
        {
            GUILayout.Label($"{ControllerName} was not found?");
        }
    }
}

Разработка плагинов библиотеки Android

Поскольку исходные файлы плагинов библиотеки Android не видны в проекте Unity C#, модификация или дальнейшая разработка плагина требует следующих дополнительных шагов:

  1. Откройте Создание профилей (меню: Файл > Создание профилей) окно.
  2. Из списка платформ на панели Платформы выберите Android.
  3. Под Настройки платформы, включить Экспорт Project и Источники символических ссылок.
  4. Выберите Экспорт.
  5. Выберите папку назначения и нажмите Выберите папку, чтобы начать процесс экспорта.
  6. После того, как Unity экспортирует проект Gradle, импортируйте проект Gradle в Android Studio.

Вы можете разработать свой плагин библиотеки Android из Android Studio. Поскольку проект Unity напрямую ссылается на плагин, любые изменения плагина библиотеки Android автоматически отражаются в проекте Unity.

Дополнительные ресурсы