Version: 2017.3
UnityPlayerActivity Java 코드의 확장
Android 스플래시 화면 커스터마이즈

Android용 Native(C++) 플러그인

Unity는 C/C++로 작성되고 공유 라이브러리(.so)로 패키지화된 Android용 네이티브 플러그인을 지원합니다.

Android용 C++ 플러그인을 빌드하려면 Android NDK를 사용하고 공유 라이브러리 빌드를 위해 필요한 단계에 익숙해져야 합니다.

C++를 사용하여 플러그인을 구현하는 경우 이름 맹글링 문제를 피하기 위해 C 링크로 메서드를 선언해야 합니다.

extern "C" {
  float Foopluginmethod ();
}

라이브러리를 빌드한 후 출력 .so 파일을 Unity 프로젝트의 Assets/Plugins/Android 디렉토리에 복사합니다. 인스펙터에서 .so 파일을 Android와 호환되도록 표시하고 드롭다운 상자에 필요한 CPU 아키텍처를 설정합니다.

인스펙터 창에 표시되는 네이티브(C++) 플러그인 임포트 설정
인스펙터 창에 표시되는 네이티브(C++) 플러그인 임포트 설정

C# 스크립트에서 네이티브 플러그인의 메서드를 호출하려면 다음 코드를 사용합니다.

[DllImport ("pluginName")]
private static extern float Foopluginmethod();

참고: pluginName에는 접두어(‘lib’) 또는 파일 이름의 확장자(‘.so’)가 포함되어서는 안됩니다. 모든 네이티브 플러그인 메서드 호출을 추가 C# 코드 레이어로 래핑하는 것이 좋습니다. 이 코드는 Application.platform을 확인하고 앱이 실제 디바이스에서 실행될 때만 네이티브 메서드를 호출합니다. 더미 값은 에디터에서 실행할 때 C# 코드에서 반환됩니다. 플랫폼 정의를 사용하여 플랫폼 종속 코드 컴파일을 제어합니다.

네이티브(C++) 플러그인 예제

zip 아카이브에는 네이티브 코드 플러그인의 간단한 예제가 포함되어 있습니다. 이 샘플은 Unity 애플리케이션에서 C++ 코드가 어떻게 호출되는지 보여줍니다. 패키지는 네이티브 플러그인에 의해 계산된 두 값의 합계를 표시하는 씬을 포함합니다. 플러그인을 컴파일하려면 Android NDK가 필요합니다.



  • 2017–05–18 편집 리뷰 없이 페이지 게시됨

  • Unity 5.5에서 업데이트된 기능

UnityPlayerActivity Java 코드의 확장
Android 스플래시 화면 커스터마이즈