비콘 신호를 감지하여, 특정 동작을 하기 위한 앱을 만들기 위해 Android beacon library 를 이용해, 유니티에서 쓰려고 한다. 

 

일단 AAR 파일을 빌드해야 하기 때문에, AAR 파일을 만들기 위해서 어떻게 해야하는지부터 정리를 하려고 한다.

 

본문보다 아래 참고로 링크를 붙은 일본쪽 블로그가 더 잘 정리가 되어 있으니, 해당 블로그를 보는 것을 더 추천한다.

Android Studio에서 프로젝트를 만듭니다.

No Activity로 선택하여 진행합니다.

프로젝트에서 새로운 모듈을 하나 추가한다.

추가할 모듈은 안드로이드 라이브러리로 선택합니다.

app 을 선택 후 삭제하고 나서 Apply 버튼을 누릅니다.

Unity 클래스 라이브러리를 추가하여 Unity 관련 API를 사용할 수 있습니다.

classes.jar 파일을 libs 폴더에 추가합니다.

해당 파일은 설치한 유니티 경로에서 아래의 경로에 위치해 있습니다.

/PlaybackEngines/AndroidPlayer/Variations/mono/Release/Classes

 

이제 Unity 관련 API를 Java에서 사용할 수있게되었지만 classes.jar플러그인에 포함 된 상태로 두면 Unity 측 빌드에서

오류가 발생하므로 classes.jarJava 코드 컴파일로 만 사용하도록합니다.

 

apply plugin: 'com.android.library'

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.3"

    defaultConfig {
        minSdkVersion 29
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        consumerProguardFiles 'consumer-rules.pro'
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

}

dependencies {
    // implementation fileTree(dir: 'libs', include: ['*.jar'])
    compileOnly fileTree(dir: 'libs', include: ['*.jar'])

    implementation 'androidx.appcompat:appcompat:1.1.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}

위와 같이 수정을 합니다. 수정할 파일은 build.gradle(module:xxxxxxxx) 이다.

지금까지 완료되면 오른쪽 상단의 Sync Now을 클릭하여 Gradle 변경 사항을 적용합니다.

package com.xxxx.xxxxxx;

import android.content.Context;
import android.widget.Toast;

public class xxxxxx
{
	private Context context;
    
    public void setContext(Context _context)
    {
    	context = _context;
    }
    
    private void ShowToast(String msg)
    {
    	Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();
    }
}

빌드를 하게 되면 아래와 같은 경로에 aar 파일이 생성됩니다.

/build/outputs/aar

 

다음에는 이 aar 파일을 사용하여, 유니티 프로젝트에서 사용하는 것을 진행해보도록 하겠습니다.

 

- 참고 -

https://gaprot.jp/2020/03/30/unity-android-native-plugin/

 

Unity向けAndroidネイティブプラグインの作り方 | ギャップロ

はじめに UnityでMLKitを使う記事を書いていたら、Androidプラグインの準備の段階だけで1つ記事になりそうなくらいだったので分割しました。UnityでMLKitを使う記事は次回にしたいと思います。

gaprot.jp

+ Recent posts