Как получить доступ к файлу aar, в библиотеках, из Main

Я провел последние три дня, пытаясь прочитать.aar в Android Studio, и я просто не могу понять это. Мой вид проекта выглядит так:

--- AnApplication

----------------------.gradle

-----------------------.idea

----------------------- app

-------------------------------- build

-------------------------------- libs

---------------------------------------- cube5-debug.aar

(...)

Я хочу получить доступ к классу внутри cube5-debug.aar из моей основной деятельности.

Я знаю, что класс есть в файле.aar.

Я не знаю точную строку импорта, которую я должен написать в начале своей основной статьи. Я пробовал импортировать com.company_cube.cube5 (пакет проекта, в котором я создал свой.aar) и многие другие варианты.

Я не знаю, распознает ли Android Studio файл как библиотеку. Однако файлы успешно синхронизируются с Gradle.

(Для контекста, проект, в котором я сгенерировал.aar, был создан Unity, экспортировав проект Unity в Android, а затем сгенерировав.aar из этого; целью было использовать этот файл.aar в качестве библиотеки в второй проект Android Studio - тот, о котором я говорю в этом посте)

Я терпеливо жду любую помощь, которую вы можете оказать мне. Спасибо

РЕДАКТИРОВАТЬ: Чтобы импортировать.aar, я следовал за изображениями этого небольшого поста: Импорт.aar в Android Studio

И исправил ошибку, о которой сообщает сообщение, поместив файл.aar в папку libs, как сказал Дэниел Ньюджент. Тем не менее, когда я пытаюсь написать, в основном:

  • Intent intent = new Intent (getApplicationContext (), UnityPlayerActivity.class);

AS не распознает UnitPlayerActivity. Этот класс находится внутри файла.aar предположительно. Перед тем, как сделать aar в моем первом проекте AS, он был здесь:

cube5->libs->unity-classes.jar->com.unity3d.player->UnityPlayerActivity

Когда я открываю.aar с помощью Winrar и открываю unity-classes.jar с помощью текстового редактора, я вижу почти все как закодированные символы.

Я не уверен, что это нормально. Любая идея?

РЕДАКТИРОВАТЬ 2: Я думаю, что я знаю, где ошибка: когда я импортирую свой.aar, я получаю фатальную ошибку IDE. Я не знаю, как решить эту проблему, поэтому, если вы можете, пожалуйста, проверьте сообщение, которое я сделал об этом: Неустранимая ошибка IDE при импорте.aar

3 ответа

Решение

Так что мне удалось это решить. Файл.aar, о котором я говорил, был экспортирован в AS после того, как я импортировал проект Unity в AS. Я сделал это для того, чтобы использовать программу Unity внутри AS. Однако это приводит к ошибке для некоторых версий Unity и AS. Я установил Unity 5.5.0f3 и более старую версию AS, и все работало нормально.

Примечание 1: если вы намерены установить эту версию Unity, вам будет предложено указать какой-то инструмент для Windows 10, который вы должны получить (я не могу вспомнить название). Я сделал это, загрузив Windows 10 установить и установить только тот инструмент, который поставляется с пакетом.

Примечание 2: я заставил программу из Unity работать внутри AS, но только потому, что это была простая программа. Позже я хотел создать приложение с дополненной реальностью в Unity и использовать его в AS, но, по-видимому, сделать это невозможно. Эвертинг работает нормально, пока я не импортирую.aar в AS, и класс в этой библиотеке.aar не будет разрешен ("Видеоплеер"). Это должно быть связано с классом камеры AR, который AS не распознает. приложение AR с Unity, другое приложение в AS и из приложения AS, при необходимости вызывающее приложение Unity с двумя строками кода. Чтобы вернуться к приложению AS, теперь в фоновом режиме, я просто нажимаю кнопку возврата, которая распознается приложением Unity (если вы создаете для него код в Unity) и заставляет его самоуничтожиться, возвращаясь к приложению AS.

Для Android Studio 2.3.3 вы можете использовать

repositories {
    flatDir {
        dirs 'libs' //this way we can find the .aar file in libs folder
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile(name: 'cube5-debug', ext: 'aar')
}

в app уровень build.gradle, Я не проверял это для AS 3.0.

Добавьте файл.aar в свое приложение, выполнив:

в проекте build.gradle

allprojects {
   repositories {
      flatDir {
        dirs 'libs'
      }
   }
}

в приложении build.gradle

dependencies {
       compile(name:'cube5-debug', ext:'aar')
}
Другие вопросы по тегам