민프

[Android][Unity] 안드로이드와 유니티를 연동시켜보자(feat.Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x0) 본문

[Unity]

[Android][Unity] 안드로이드와 유니티를 연동시켜보자(feat.Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x0)

민프야 2021. 9. 23. 19:37

안드로이드 버튼을 눌렀을때 유니티로 접속이 될 수 있게 연동해보자!!

 

https://www.youtube.com/watch?v=sf54tOAkmzU&t=301s 

해당 영상을 참고해서 작성하였습니다.

 

🎈유니티 - Build Settings - 안드로이드 추가

먼저 유니티에서 안드로이드가 빌드될 수 있도록 

Build Setting을 해주자

 

 

안드로이드 빌드 추가가 되면 
저런식으로 유니티로고가 안드로이드 쪽으로 이동하게 된다.

 

이렇게 빌드 해주고 
Add Open Scenes를 눌러주면
현재 내가 만든 Scenes들이 추가가 된다.

해당하는 버전에서 
Android Build Support 모듈을 추가해주자!!

 

🎈유니티 - Player Settings - Export

유니티를 Export해주기전에

몇몇 세팅값을 변경해주자!

이렇게 해주고 Export를 누르면

어느 파일에 저장할 것인지 나올텐데
원하는 공간에 설정하면 된다.

 

🎈유니티 - unityLibrary 파일 안드로이드 프로젝트 파일에 올리기

Export된 파일을 들어가면
unityLibrary폴더가 있는데 그걸 복사해서

안드로이드 프로젝트에 넣어주면 된다.

🎈안드로이드- Gradle 설정

Gradle설정은 공식홈페이지에 나와있는대로 해주면된다.

https://forum.unity.com/threads/integration-unity-as-a-library-in-native-android-app-version-2.751712/

 

Integration Unity as a library in native Android app Version 2

This document explains how to include Unity as a Library into standard Android application through Activity. You can read more about Unity as a...

forum.unity.com

* 첫번째 네모 친 칸에서
라이브러리 경로를 잘 넣어줘야한다.

 

이렇게 해주면 내 프로젝트에 unitiLibrary 폴더가 생성된다.

 

 

🎈안드로이드 - Activity 

MainActivity.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

 

 

UnityHandlerActivity.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    tools:context=".UnityHandlerActivity">

    <Button
        android:id="@+id/buttonClick"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="submit"/>

</LinearLayout>

 

MainActivity.java

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        startActivity(new Intent(this, UnityHandlerActivity.class));
    }
}

UnityHandlerActivity.java

public class UnityHandlerActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_unity_handler);

        Button buttonClick = findViewById(R.id.buttonClick);

        buttonClick.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(UnityHandlerActivity.this, UnityPlayerActivity.class);
                startActivity(intent);
            }
        });
    }
}

 

 


 

 

이렇게 해주고 실행시켜주면 Run을 해주면 오류가 발생된다.

🚩 Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x0

이건 
Strings.xml에서

    <string name="game_view_content_description">Game View</string>

넣어주고 실행하면 잘 작동되는 것을 확인할 수 있다.

 

 

 

'[Unity]' 카테고리의 다른 글

[Unity] 스크립트 써보기  (0) 2021.08.26
Comments