민프
[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설정은 공식홈페이지에 나와있는대로 해주면된다.
* 첫번째 네모 친 칸에서
라이브러리 경로를 잘 넣어줘야한다.
이렇게 해주면 내 프로젝트에 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