문제
sqlite로 데이터베이스를 쓰는 유니티 프로젝트를 안드로이드 앱으로 빌드했다.
해당 앱을 설치한 후에 앱 아이콘을 눌러 실행을 시도하면 오류메세지도 없이 앱 실행이 되지 않았다.
빌드 하던 중에 유니티 로그에서 아래 오류 메세지가 떠있는 걸보고 그걸로 해결하려고 했다.
오류 메세지
ArgumentException: The Assembly System.Configuration is referenced by System.Data ('Assets/Plugins/System.Data.dll'). But the dll is not allowed to be included or could not be found.
UnityEditor.AssemblyHelper.AddReferencedAssembliesRecurse (System.String assemblyPath, System.Collections.Generic.List`1 alreadyFoundAssemblies, System.String[] allAssemblyPaths, System.String[] foldersToSearch, System.Collections.Generic.Dictionary`2 cache, BuildTarget target) (at C:/buildslave/unity/build/Editor/Mono/AssemblyHelper.cs:142)
UnityEditor.AssemblyHelper.AddReferencedAssembliesRecurse (System.String assemblyPath, System.Collections.Generic.List`1 alreadyFoundAssemblies, System.String[] allAssemblyPaths, System.String[] foldersToSearch, System.Collections.Generic.Dictionary`2 cache, BuildTarget target) (at C:/buildslave/unity/build/Editor/Mono/AssemblyHelper.cs:148)
UnityEditor.AssemblyHelper.FindAssembliesReferencedBy (System.String[] paths, System.String[] foldersToSearch, BuildTarget target) (at C:/buildslave/unity/build/Editor/Mono/AssemblyHelper.cs:179)
UnityEditor.HostView:OnGUI()
Exception: Could not find build platform for target group Unknown
UnityEditor.BuildPlayerWindow.CalculateSelectedBuildTarget () (at C:/buildslave/unity/build/Editor/Mono/BuildPlayerWindow.cs:739)
UnityEditor.BuildPlayerWindow.BuildPlayerWithDefaultSettings (Boolean askForBuildLocation, BuildOptions forceOptions, Boolean first) (at C:/buildslave/unity/build/Editor/Mono/BuildPlayerWindow.cs:360)
UnityEditor.BuildPlayerWindow.BuildPlayerWithDefaultSettings (Boolean askForBuildLocation, BuildOptions forceOptions) (at C:/buildslave/unity/build/Editor/Mono/BuildPlayerWindow.cs:339)
UnityEditor.BuildPlayerWindow.BuildPlayerAndRun () (at C:/buildslave/unity/build/Editor/Mono/BuildPlayerWindow.cs:316)
해결
PlayerSetting 창에서
Configuration
Api Compatibility Level 항목을 .NET 2.0 올 바꾸어준다
나는 기본 설정이 .Net 2.0 Subset이였다
C:\Program Files\Unity\Editor\Data\Mono\lib\mono\unity ( 디폴트 경로)
안에 있는 System.Data.dll 파일을
유니티 프로젝트/Assets/Plugins 폴더안에 넣어준다
Plugins 폴더가 없으면 새로 생성 후 넣으면 된다.
방금 넣은 System.Data.dll 파일을 클릭하면
System.Data의 인스펙터가 열린다
Exclude Platforms에서 안드로이드를 체크해주었다
체크 후 앱 빌드하고 실행하니 문제가 사라졌다
+
.Net 2.0 Subset으로 설정해도 되는지는 모르겠다.
참고
오류 나는 이유가 댓글에 써져있다
http://www.devkorea.co.kr/bbs/board.php?bo_table=m03_qna&wr_id=71231