[Unity] 유니티 프로젝트 안드로이드 스튜디오에 연동시키기

이번에는 유니티에서 만든 프로젝트를 안드로이드 스튜디오에서 Import 하는 방법에 대해서 알아보도록 하겠습니다. 안드로이드 스튜디오의 프로젝트가 주력프로젝트이고 부가적으로 유니티기능을 활용하고 싶은 분들에게 좋은 포스팅이 되리라고 생각합니다. 

유니티 프로젝트 안드로이드 스튜디오에 연동시키기

유니티안드로이드

1. 먼저 시작하기전에 안드로이드 SDK 와 JDK의 경로가 잘설정되어있는지 확인합니다.

(설정이 제대로 안되어있을경우 Export안됌)

Edit -> Preferences


유니티안드로이드

2. External Tools 에서 SDK ,JDK의 경로를 설정해줍니다.


유니티안드로이드

SDK경로 = C:/Users/내이름/AppData/Local/Android/sdk  

안드로이드 설치시 기본설정으로 설치를 했다면 대부분 경로는 이렇게 되어 있을것입니다.


JDK경로 = C:\Program Files\Java\jdk1.8.0_144

JDK설치시 지정한 경로


유니티안드로이드

3. 그런 뒤 유니티에서 export 해줍니다.

File -> Build Settings


유니티안드로이드

4. ADT로 설정되어있는지 확인하고 Player Settings를 눌러줍니다.


유니티안드로이드

5. Player Settings 에서 API레벨을 설정해주고

빨간박스안에있는 3개의 체크박스가 선택되어있는지 확인해주시고 Export해줍니다.

그러면 안드로이드 스튜디오에서 쓸 수 있는 형태로 저장이됩니다.


유니티안드로이드

6. 그런뒤 안드로이드 스튜디오에서

방금 Export를 한 유니티프로젝트를 Import해줍니다.

그런 뒤 실행을 시켜주시면


유니티안드로이드

7. 이런식으로 유니티로 만든 프로젝트가 뜹니다.

하지만 이렇게 되면 안드로이드를 켜자마자 유니티 프로젝트가 바로 실행되어 어플리케이션을 개발하는데 제약이 많이 따릅니다.

버튼을 누르면 유니티 프로젝트가 실행될수 있도록 바꿔보도록 하겠습니다.


유니티안드로이드

8. 먼저 export한 유니티 프로젝트에서 필요한 부분만 다른 프로젝트로 옮기도록 하겠습니다.

libs -> unity-classes.jar


유니티안드로이드

Java -> UnityPlayerActivity


유니티안드로이드

assets , jniLibs 폴더

이렇게 옮겨주시면 됩니다.


9. 그런뒤 옮긴 프로젝트의 Manifest에서 아래처럼 선언해주시고 버튼에 Intent를 이용하셔서 사용하시면 됩니다.

유니티안드로이드

10.  그리고 실행을 시키시면 버튼을 클릭할 시 자신이 Export했던 유니티 프로젝트가 실행되는것을 보실 수 있습니다.

댓글(71)

  • 이전 댓글 더보기
  • ㅜㅜ
    2018.05.23 11:28

    글을 봤더니 옮긴다는 표현을 쓰섰는데 옮긴다는게 복사해서 옮기는건지
    아니면 다른방법으로 하셨는지 문의드립니다
    복붙을했더니 붉은 줄이 생기면서 에러가 발생해서 문의 드립니다.

    안드로이드 런은 실행이 됩니다
    대신 버튼을 누르면 앱에서 팅깁니다

    • 2018.05.23 20:30 신고

      복붙을 잘못하면 빨간줄이 떠요. 저는 직접 안드로이드 프로젝트가서 assets , jniLibs폴더를 직접 복사해서 붙여요. 그리고 튕기는 현상은 이게 작년까지만해도 그런게 없었는데 유니티 버전이 올라가면서 뭔가 설정이 달라진거같네요. 아마 이것도 해결하는 방법이 있을거에요.

  • 2018.05.23 16:39

    안녕하세요 마지막으로 궁금한게 있습니다.
    어찌저찌 하다보니 오류 해결해서 이동하는데 성공 했습니다.

    Activity -> 유니티 프로젝트 Activity 이동까지는 인텐트로 가능함을 알았는데
    유니티 프로젝트 Activity - > Activity로 이동하는것은 모르겠습니다.

    뒤로가기 버튼을 눌러도 안돌아가지던데 방법이 있나요??

    • 2018.05.23 20:37 신고

      튕기는 현상을 어떻게 해결하셨나봐요? 대단하십니다...... 노력에 박수보내드려요. 하... 뒤로가기 버튼이라.. 사실 저도 선배한테 유니티 프로젝트를 안드로이드 스튜디오에 넣어달라는 부탁받아 그것만 해결해 준거라 이후 프로젝트는 작업 안했거든요... 사실 이 뒤에 서로 값을 넘긴다던가 화면전환을 활발히 한다거나 하는건 잘 모르겠어요. 좋은답변 드리지 못해 죄송합니다.

  • 2018.05.24 18:07

    죄송하다니요 ㅠㅠㅠ 답변 빨리 주신것만 해도 감사드립니다 ㅠㅠ 좋은하루되세요!!

    • ㅜㅜ
      2018.05.24 18:36

      안녕하세요님 죄송하지만 혹시 오류 해결을 어떻게 하셨는지 알 수 있을까요? 저도 같은 부분에서 막혀있는데 어디서 수정을 해야된는 도저히 모르겠어서 이렇게 글을 적어봅니다.

  • 녹차
    2018.06.02 18:52

    안녕하세요

    알려주신 방법으로 임폴트 후 안드로이드에 유니티 프로젝트를 불러오는 것은 성공하였습니다.

    감사합니다.

    그러나 버튼 클릭시 유니티 프로젝트를 실행시키려고 하는데 알려주신 방법으로 실행할시 정상적으로 실행이 되지 않습니다.

    유니티 플레이 액티비티와 ,assets , jnLibs , libs 를 복사하여 다른 프로젝트에서 붙여 넣었고

    grable 역시 동일하게 수정 하였지만 유니티 플레이 액티비의(UnityPlayer,클래스에 빨간불) 오류가 발생합니다.

    해당 오류는 libs 폴더의 unity-classes.jar 를 제대로 읽지 못하여 발생하는 문제로 생각됩니다.

    해결 방안을 아신다면 답변 부탁드리겠습니다.

    버전 : 안드로이드 스튜디오 3.0.1 , API 24 , 유니티 2018.1.0f2 personal (64bit)


    • 2018.06.02 22:58 신고

      혹시 버튼을 클릭하면 바로 튕기시나요? 유니티버전이 올라가면서 버튼을 클릭하면 튕기는 현상이 발생하는것 같습니다. 저는 저 당시 유니티 2017.2로 개발했습니다. 현재 팅기는현상을 고치는 방법은 저는 잘 모르겠어요... 죄송합니다.

  • ㅜㅜ
    2018.06.04 10:34

    혹시 unityplary.unitysendmessaga를 사용해서 안드로이드에서 유니티로 값을 보낸적이 있으신가요?

  • 우당탕탕
    2018.06.05 16:57

    유니티에 안드로이드 플러그인 jar가 있을경우에는 포스팅하신 내용과 동일하게 진행하면 되는겁니까?
    libs에 unity classes.jar 넣은 거 처럼 안드로이드 플러그인.jar을 동일하게 적용하면 됩니까?

    • 2018.06.06 01:53 신고

      질문의 내용을 잘 이해하지 못하겠습니다.
      유니티 프로젝트를 Export하면 유니티프로젝트에 Jar파일이 생기며 이 Jar파일을 안드로이드 프로젝트에 넣어 유니티프로젝트와 안드로이드 프로젝트를 연동시키는것이 이 포스팅의 내용이에요

  • 우당탕탕
    2018.06.07 11:29

    실수로 질문을 지워버렸습니다..수정한다고 하다가.....
    죄송합니다 친절하게 알려주셨는데

  • 우당탕탕
    2018.06.07 11:34

    유니티에서 export을 하면 별도의 안드로이드 플러그인 jar파일을 생성을 안해도 UnityPlayer.UnitySendMessage를 이용한 데이터를 주고 받는 일이 가능하지 문의 드립니다

    • 2018.06.07 11:55 신고

      제가 유니티에 대한 전문적인 지식은 갖추지 못해서요. 프로젝트 하다가 잠깐 건드려본게 다인지라... 잘 모르겠습니다. 죄송해요

  • 우당탕탕
    2018.06.07 12:12

    도움이 많이 되었습니다, 제가 질문한것은 구글링으로 열심히 알아보겠습니다.

  • 오우야
    2018.06.08 09:04

    유니티 export하기전에 유니티 플러그인에 안드로이드 플로그인.jar 파일 들어있는 상태에서 진행을 하신건가요?

    • 2018.06.08 09:11 신고

      libs에 있는 jar파일 말씀하시는거면 본문 사진에 있는 unity-classes.jar파일밖에 없었어요

  • 오우야
    2018.06.08 10:24

    영상에서 보여주신 유니티는 움직임이나 동작같은 거 없이 그냥 화면만 보여주는 기능만 있는건가요?

    • 2018.06.08 10:28 신고

      네 건물 구조도를 간략하게 만들일이 있었는데 간단하게 만들어본겁니다. 다른 기능은 없습니다.

  • 오우야
    2018.06.12 09:56

    안녕하세요
    메인 액티비티에서 유니티 액티비티로 intent하여서 값을 전달받아서 그 전달 받은 데이터를 다시 유니티로 호출하여서 진행을 할려고 합니다.
    혹시 인텐트로 전달 받은 값을 다시 유니티로 보내는 방법에 대해 알고계신가요?

    • 2018.06.12 12:06 신고

      저는 저렇게 화면만 만들어봐서 값전달하는 방법은 알지 못합니다 구글링한번 해보세요.. ㅠ

  • 오우야
    2018.06.14 22:01

    코딩 팩토리님의 조언을 구하고자 합니다
    intent을 하여서 화면 전환과 테스트로 진행한 putextra를 이용해서 string값을 유니티로 보낸는것 까지 하였는데요
    핸들러에 있는 값을 서브 액티비티(유니티 플레이어 액티비티)로 보내줄려면 어떻게 해야되는지 조언을 구하고자합니다.

    • 2018.06.14 22:18 신고

      글쎄요... 저도 알려드리고 싶지만 제가 유니티에 대한 지식이 많이 부족해서요. 좋은답변 못해드려 죄송하네요.

  • 오우야
    2018.06.14 22:36

    제가 말을 잘못한것 같네요
    서브 액티비티로 메인 액티비티에 있는 핸들러의 값을 보낼려고 합니다.
    이때 핸들러의 값을 보내주기 위한 방법을 알고 계시나요?

    • 2018.06.14 22:38 신고

      그 과정은 제가 안해봐서 답변드리기 좀 힘드네요. 유니티에서 값을 받는것 까지 하셨으면 유니티 프로젝트안에서 그 값을 활용하고 다시합치고 그렇게 작업해야하지 않을까요?

  • 오우야
    2018.06.14 22:58

    늦은 시간에 답변해주셨서 감사합니다.

  • 알려주세요ㅠㅠ
    2018.09.25 16:12

    안녕하세요 안드로이드에 유니티로만든 게임 2개를 연동시키려고합니다. 첫번째 게임은 블로그를 보고 잘연동했습니다. 이제 두번째 유니티 게임을 연동하려고하는데요. 파일 이름이 겹치는것은 어떻게 해결해야할까요? jar파일을 복사하는데 계속 이미 존재하는파일이라고 나오는데 어떻게해야할까요 ㅠㅠㅠㅠ

  • MKY
    2018.10.18 10:54

    안녕하세요 코딩팩토리님 게시물 보고 만들어보고있는 초보입니다.
    지금 EXPORT한 유니티를 안드로이드에 바로 키는 것 까진 따라했는데 복사해서 버튼눌러 들어가는거에서 막혔습니다. ㅠㅠ 복사까지 똑같이 했는데 왜 안되는지 알수있을까요? 매니패스트쪽에서 unityplayerActivity가 빨간줄 뜹니다ㅠ

    • 2018.10.22 02:16 신고

      빌드상에 문제가 있는것 같은데요 위에 댓글도 한번 참고해서 문제를 수정해보세요

  • 궁금해오
    2019.05.28 23:20

    코딩 팩토리님 저는 이번에 안드로이드 스튜디오로 과제를 준비중인 대학생입니다.
    궁금한 것이 있어 질문을 남기게 되었습니다.
    과제가 팀 단위 과제인데 저는 안드로이드 스튜디오에서 UI를 맡게 되었고,
    다른 친구는 유니티로 게임을 구현하는것을 맡았습니다.
    그런데 여기서 제가 계속 기술적으로 의문이 드는건
    인텐트 사용이 아닌 좀더 매끄럽게 유니티로 넘어가는 방법이 더 없는지 궁금합니다.
    인텐트는 화면1을 화면2로 전환하면서 화면1을 종료하거나 남겨두는 것인데,
    그것이 아닌 아예 다른 방법으로 넣는 방법이 궁금합니다.

    • 2019.05.29 00:58 신고

      음... 어떤 프로젝트인지는 모르겠는데 게임이 들어가는걸 보아 게임을 만드는게 목적인 프로젝트가 될것 같네요. 안드로이드 스튜디오랑 유니티랑 같이 사용하려고 하지마시고 그냥 유니티 하나만 사용해서 프로젝트 하셔도 충분히 좋으실듯합니다. 유니티로도 UI 충분히 꾸밀 수 있으니까요,

  • 감사합니다
    2019.06.21 22:33

    감사합니다 ... 덕분에 unity 로 만든 간단한 화면전환되는 프로그램을
    안드로이드 스튜디오에 옮겨서 실행하는 것 해봤어요
    저는 모바일 위젯 화면에다가 그 실행되는 화면을 그대로 옮기고 싶은데요
    가능한가요?? 가능하면 어떻게 공부해야 할까요

    • 2019.06.30 16:10 신고

      모바일 위젯화면에다가 그 실행되는 화면을 그대로 옮기고 싶다는게 무슨뜻인지 정확하게는 모르겠습니다만 안드로이드 스튜디오로 개발하지마시구 유니티로 개발하세요

  • 감사합니다.
    2020.06.16 15:39

    감사합니다. 덕분에 도움 많이 받았네요

Designed by JB FACTORY