Unity를 사용하여 Android 개발을 하는 중 여러 문제에 부딪힐 수 있습니다. 대부분의 문제는 플러그인 또는 알맞지 않은 프로젝트 설정과 관련되어 있습니다. 이 섹션에서는 대부분의 일반적인 시나리오와 관련 문제 해결 조언에 대해 다룹니다.
모든 네이티브 플러그인을 제거합니다.
스트리핑을 비활성화합니다.
adb logcat
를 사용해 기기에서 크래시 보고를 받습니다. 자세한 정보는 공식 Android Developer Logcat Command-Line Tool 문서를 참조하십시오.
기기에서 Settings > Developer Options > Don’t keep activities 가 활성화된 건 아닌지 확인해야 합니다.
비디오 플레이어는 그 자체로 작업이며, 따라서 비디오 플레이어가 활성화되면 일반 게임 작업이 종료됩니다.
Unity가 시스템에 연결된 Android 기기를 찾을 수 없다면 다음을 확인해야 합니다.
기기가 정말로 컴퓨터에 연결됐는지 확인합니다. USB 케이블과 소켓을 확인해야 합니다.
기기의 개발자 옵션에서 USB 디버깅 이 활성화되어 있는지 확인합니다. 자세한 내용은 Android SDK/NDK 설정 페이지를 참조하십시오.
Android SDK 설치의 platform-tools
디렉토리에서 adb devices
커맨드를 실행하고 출력을 확인합니다.
만일 출력 리스트가 비어있고 Windows를 사용 중이라면 ADB 기기 드라이버를 설치해야 할 수도 있습니다. 자세한 내용은 Android SDK/NDK 설정 페이지를 참조하십시오.
리스트에 unauthorized 레이블이 붙은 항목이 있다면 기기에서 컴퓨터에 디버그 권한을 줘야할 수도 있습니다. 기기 화면의 다이얼로그를 확인해야 합니다.
리스트에서 기기에 device 레이블이 붙어있다면 Unity에서 프로젝트를 다시 빌드해야 합니다.
이 오류는 Android 에셋 패키징 툴(AAPT)이 이상일 때 나타납니다. AAPT는 Android 빌드에서 중간 에셋 패키지를 빌드할 때 사용합니다. 이 문제는 Android 플러그인 중 리소스가 없거나 중복됐을 때 나타나는 경우가 가장 많습니다.
자세한 내용은 콘솔 메시지를 확인해야 합니다. 없거나 중복된 리소스의 ID가 있을 것입니다. 없는 리소스/설정을 추가하거나 중복 플러그인을 지워 오류를 해결해야 합니다.
이 문제의 가장 가능성이 높은 원인은 메인 Unity 매니페스트와 호환되지 않는 매니페스트를 가진 플러그인이 있는 것입니다.
어떤 특성이 충돌하는지 자세한 내용은 콘솔 메시지를 확인하고 그에 따라 매니페스트를 수정해야 합니다.
Android 매니페스트에 대한 자세한 내용은 Android 매니페스트 문서를 참조하십시오.
이 문제의 가장 가능성이 높은 원인은 Java 플러그인을 2번 추가한 것입니다. 결과적으로 Unity가 모든 컴파일된 Java 플러그인으로 DEX(달빅 실행형 포맷) 파일을 빌드하려 할 때 중복 클래스가 발생하게 됩니다. 콘솔 출력에서 중복 항목 리스트 여부를 확인하고 플러그인을 수정해야 합니다.
콘솔 메시지에 “Too many references”가 나온다면 필드의 메서드의 수가 DEX의 한계인 64k를 넘는다는 뜻입니다. 보통 플러그인 또는 플러그인 리소스의 수가 너무 많을 때 발생합니다. 레퍼런스의 생성 방식 때문에 큰 플러그인 몇 개만으로도 한계에 도달할 수 있습니다.
이 문제를 해결하는 방법엔 여러 가지가 있습니다. 그 중 하나는 플러그인을 스트리핑하는 것입니다. 그러나 가장 빠른 해결 방법은 Gradle 빌드 시스템으로 전환하거나 프로젝트를 익스포트에 Android Studio에서 빌드하는 것입니다.
이 오류의 원인은 다음과 같습니다.
호환되지 않는 기기에 설치할 때.
Player 설정의 Minimum API Level 보다 낮은 버전의 Android를 구동하는 기기에 설치할 때.
실제 오류 코드와 출력은 콘솔을 확인해야 합니다.
2017–05–25
5.5에서 업데이트 된 기능