안드로이드 스튜디오에서 플러그인을 만들어보자

안드로이드 스튜디오에서 플러그인을 만들어보자

안드로이드 스튜디오에서 플러그인을 만들고, 이를 유니티에서 어떻게 호출하는지 간단하게 정리했습니다.

참고: 안드로이드 스튜디오 헤지혹 버전으로 진행했습니다.

프로젝트 셋팅

새 프로젝트를 만듭니다. 바로 모듈을 만들수가 없어서 Empty Activity로 만들어줍니다. 어차피 app은 지울거라서 아무거로나 만들어도 상관없습니다.

File>New>New Module… 을 선택해줍니다.

Android Library를 선택하고 이름을 지어줍니다. Minimum SDK에서 정한 버전이 유니티에서도 Minimum SDK로 설정해야하니 주의.

기존 앱이 거슬리니까 지워줍니다 File > Project Structure… 을 클릭해서

Modulse 탭에서 app을 우클릭하여 Remove Module 해줍니다.

유니티 사용할 수 있게 셋팅

아래의 경로로 들어가봅니다.

C:\Program Files\Unity\Hub\Editor\2021.3.22f1\Editor\Data\PlaybackEngines\AndroidPlayer\Variations

이 아래에 il2cpp와 mono 파일이 있을텐데 본인의 유니티 프로젝트 설정에 맞게 선택합니다.
저는 il2cpp를 사용하기 때문에 il2cpp폴더로 들어갔습니다.

~\il2cpp\Release\Classes

이 안에 classes.jar 파일이 있습니다. 이걸 복사해줍니다.

다시 안드로이드 스튜디오로 돌아옵니다. Project 를 누릅니다.

그러면 이렇게 뷰가 바뀌는데, 만들 모듈의 libs쪽에 아까 복사한 classes.jar를 넣어줄 겁니다.

이렇게 들어간 것을 확인해주세요.

다시 Android로 뷰를 바꾸고 Gradle Script > build.gradle (Module: ~)을 열어주세요.

아래의 코드를 추가해주세요.

dependencies {  

    // ...
   
	compileOnly files('libs\\classes.jar')  
}

그리고 우측 상단에 Sync Now를 눌러주세요.

그럼 아까 Project 뷰에서 classes.jar가 폴더처럼 바뀝니다.

모듈 빌드하기

자바 클래스 하나를 만듭니다.

Build > Make Module ~을 누릅니다.

다음에 경로에 저장됩니다.

~\프로젝트명\모듈명\build\outputs\aar

유니티에서 사용하기

Plugins>Android안에 aar 파일을 넣습니다.

다음의 코드로 사용이 가능합니다

클래스 불러오기

new AndroidJavaClass("com.example.모듈명.클래스명");

클래스의 함수 호출

불러온 클래스.Call("함수명");

반대로 유니티의 함수를 안드로이드 코드에서 호출하고 싶다면 이렇게 한다.

UnityPlayer.UnitySendMessage("게임오브젝트명", "함수명", "인자");


© 2022. All rights reserved.