Создание плагина библиотеки Android
Вы можете создать плагин библиотеки Android в Unity. После создания вы можете использовать его непосредственно в вашем проекте Unity или доработать его в Android Studio.
Чтобы создать плагин библиотеки Android, выполните следующие действия:
В проекте Unity создайте папку
MyFeature.androidlib. Эта папка будет представлять модуль Gradle.-
(Необязательно) 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' } } } - Создать следующую структуру папок внутри
MyFeature.androidlibпапка:src/mainsrc/main/java/com/company/feature(или измените путь к пакету, чтобы он соответствовал вашему желаемому имени пакета)
-
Создайте файл
AndroidManifest.xmlвнутри папкиsrc/mainи добавьте следующий код:<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"/> -
Создайте файл 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#, модификация или дальнейшая разработка плагина требует следующих дополнительных шагов:
- Откройте Создание профилей (меню: Файл > Создание профилей) окно.
- Из списка платформ на панели Платформы выберите Android.
- Под Настройки платформы, включить Экспорт Project и Источники символических ссылок.
- Выберите Экспорт.
- Выберите папку назначения и нажмите Выберите папку, чтобы начать процесс экспорта.
- После того, как Unity экспортирует проект Gradle, импортируйте проект Gradle в Android Studio.
Вы можете разработать свой плагин библиотеки Android из Android Studio. Поскольку проект Unity напрямую ссылается на плагин, любые изменения плагина библиотеки Android автоматически отражаются в проекте Unity.