안드로이드 스튜디오의 설정과 구조, 유니티 확장에 대해 알아보겠습니다.
설정
❛ NDK 설정
- 자바로 개발 시 C/C++ 사용할 수 있게 해줌
- Preferences -> Appearance & Behavior -> System Settings -> Android SDK -> SDK Tools -> NDK 체크 OK (없으면 자동 설치 됨)
- 경로
File - Project Structure... -> SDK Location : Select default NDK
Android SDK Location : /Users/사용자/Library/Android/sdk
JDK location : /Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home
Android NDK location : /Users/사용자/Library/Android/sdk/ndk-bundle
❛ Project Setting
Project SDK : 설정 안하면 this project does not contain any app engine 오류
구조
❛ /main/AndroidMainFest.xml
가장 기본적인 setting 설정파일
❛ /java/***.java
자바소스 추가 작성
❛ /res/drawable, raw, layout
drawable : 이미지 파일 저장 폴더
raw : 음악, 동영상 파일 저장 폴더
layout : App의 액티비티, 레이아웃을 저장하는 폴더
activity_main.xml : 프로젝트 생성 시 기본 mainActivity파일
유니티 확장
❛ 프로젝트 생성
- 패키지 네임, Minimum SDK는 유니티와 일치
- 빈 액티비티
❛ classes.jar
- 유니티 프로젝트 안에 라이브러리를 사용할 프로젝트로 가지고 와서 포함
1. File - Project Structure
2. 상단 +
3. Import .JAR of AAR Package
(MAC) Application/Unity/PlaybackEngines/AndroidPlayer/Variation/mono/release/
안드로이드스튜디오프로젝트폴더/app/libs 안에 복사
4.
Project Structure - app - Dependencies
5. 오른쪽 +
6. Module Dependency
7. 3번 모듈 선택
8. {include= 과 libs/classes.jar 는 Scope을 Provided로 변경 -> 둘이 싸움남
- AndroidManiFest.xml 수정
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="">
<application android:allowBackup="true" android:label="@string/app_name" android:supportsRtl="true" />
/manifest>
- MainActivity 코드 작성
import com.unity3d.player.UnityPlayer;
public class MainActivity {
private static MainActivity instance = null;
public static MainActivity getInstance() {
if(instance == null) {
instance = new MainActivity();
}
return instance;
}
public void RequestMessage() {
UnityPlayer.UnitySendMessage("PlugGameObject", "OnMessageReceied", "Hello, World");
}
}
- Gradle Scripts - build.gradle(Module:app) 수정
apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion "24.0.0"
defaultConfig {
//applicationId
minSdkVersion 19
targetSdkVersion 24
//versionCode 1
//versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
provided fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:24.0.0'
provided project(':classes')
}
'모바일 개발 > iOS' 카테고리의 다른 글
애플스토어 | 인앱결제테스트와 TestFlight (0) | 2020.03.11 |
---|---|
애플스토어 | 앱제출 및 심사 (0) | 2020.03.11 |
애플스토어 | 애플 개발자 (0) | 2020.03.11 |
AOS | Cocos2d-x (0) | 2020.03.05 |
Xcode | 디버깅과 트러블 슈팅 (0) | 2020.02.27 |
Xcode | 빌드 (0) | 2020.02.27 |
Xcode | 개발 (0) | 2020.02.27 |
Xcode | 설치 및 환경설정 (0) | 2020.02.21 |
댓글