티스토리 뷰

반응형

이번 앱 개발 프로젝트에서 AR 기능을 의뢰받았는데, 안드로이드,iOS에서 AR Kit 으로 간단한건 직접 개발이 가능할듯 했으나 

기획안이 정리가 되어갈수록 개발 난이도가 올라가서, 결국 AR을 유연하게 잘 개발할수 있는 유니티를 전문 개발팀에 맡기고 

완성품을 가지고 안드로이드, 아이폰에 각각 연동하기로 했다.

 

안드로이드는 NDK 설치만 하면 될줄 알았는데, 안드로이드 기본 NDK 를 이용해 빌드할 경우에 유니티 프로젝트가 잘 빌드가 안된다.

Project Structure 에서 NDK 선택시 

NDK does not contain any platforms

이런 에러나..

강제로 ndk path 설정후 빌드시

il2cpp finished with non-zero exit value 

이런 메시지나, 맥에서는 clang-12: error: invalid linker name in argument '-fuse-ld=gold' 이런 에러등..

처음에 굉장히 삽질을 많이 했기에.. 

기록차 간단히 내용을 남기도록 한다.

 

1. 유니티를 직접 설치해야한다.

https://unity.com/kr/download

 

다운로드

지금 Unity를 다운로드하고 전 세계적으로 가장 큰 인기를 누리는 2D/3D 멀티플랫폼 경험 및 게임 제작용 개발 플랫폼을 사용하세요.

unity.com

맥 버전을 다운로드 받아 설치한다.
( HUB 버전이 아니고 일반 Download for Mac 을 선택 한다 )

맥은 설치도 아니고, 어플리케이션 폴더에 옮기기만 하면 된다.

 

2. 유니티를 실행하고 Installs 에서 필요한 파일을 설치한다.

Installs 탭에서 파란색 Add 버튼을 누른다.

 

Recommended Release 그대로 Next 로 넘어간다.
2021.12.18 추가
가장 중요한 부분이다.

유니티의 작업물에 영향을 가장 많이 받는 부분중 하나이고, 버전 차이가 크게 나지 않는다면 문제 되지 않지만
종종 유니티의 버전에 따라 Android Build Tools , NDK 버전 영향을 받아서 빌드가 되지 않을수 있다.

따라서, 유니티 작업물의 버전에 맞춰서 설치를 해야한다.

 

우리에게 꼭 필요한 패키지이다.

1. Android Build Support 
2. Mac Build Support (IL2CPP)

iOS 는 선택사항이다. 

안드로이드만 할거면 선택 하지 않아도 된다.

3. 설치가 될때까지 기다린다.

 

 

기다린다.

 

기다린다.

M1 맥에서 설치까지 15분정도 소요된것 같다. 

유니티로 설정할것은 여기까지이다.

 

4. 다음 안드로이드 스튜디오 프로젝트로 돌아와서 해야할 일이다.

local.properties 에서 ndk.dir 을 위와 같이 설정한다.

유니티에서 설치한 경로는 다음과 같다.

/Applications/Unity/Hub/Editor/2020.3.24f1/PlaybackEngines/AndroidPlayer/NDK

2020.3.24f1 은 유니티에서 선택하여 설치한 유니티의 버전이자, 유니티 원본 작업물의 유니티 버전이기도 하다.

 

5. Rebuild 를 한다.

만약 다음과 같은 에러가 난다면 

일단 취소를 누른다.

build 창에서도 에러가 날것이다.

해당 파일의 경로를 Finder 에서 찾아 들어간다.

열기를 눌러서 실행할수 있도록 해준다.

이렇게 하나 해결하고 빌드하면 또 다른 파일에서 보안으로 인해 빌드가 안된다.

이 폴더 안의 모든 파일을 다 해줘야 하는것 같다.

맥이 업데이트 되고 나서 환경설정 > 보안 > 일반에서 확인되지 않은 모든 앱 실행 허용 옵션이 사라져서 어쩔수없이 문제가 되는 파일을 하나씩 엑세스를 해줘야한다. 

 

하지만 모든 파일을 일일히 열수 없을것이다.

 

필자 또한 터미널에서 open 명령어로 모든 파일을 열기위해 시도를 하려고 했었고,
shell script 까지 만들어 폴더 내의 모든 파일을 실행할수 있도록도 해보려고 했었다.  

그러나 가장 간단한 해결 방법은 저 보안 모듈을 꺼버리는것이었다.

터미널에서 다음 명령어를 입력한다.

sudo spctl --master-disable

 

 

이후, 안드로이드 스튜디오에서 다시 빌드를 시도해본다.

잘 될것이다!! 

다 끝났으면 게이트키퍼를 다시 작동시킨다.

sudo spctl --master-enable

 

Cheers!

 

반응형

'Develope > JAVA' 카테고리의 다른 글

Unity 프로젝트 - Android Studio에 연동하기  (4) 2021.12.19
Android BLE Marshmallrow OS bug?  (0) 2016.06.12
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함