본문 바로가기
모바일/모바일 개발

AOS | 안드로이드 스튜디오

by KISCH 2020. 3. 5.
반응형

안드로이드 스튜디오의 설정과 구조, 유니티 확장에 대해 알아보겠습니다.

 

 

설정


 

❛ 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')

}

 
❛ UnityPlayerActivity ➕ assets폴더 ➕ jniLibs
 
 
 
Logcat

 
❛ 실행
 
터미널 : /사용자/Library/Android/sdk/plaform-tools 이동
1. adb logcat
2. ./adb logcat Unity:I Native:I *:S
3. abd logcat -s Unity
*adb : android debug bridge
 
 실행 안 될 경우 경로 설정
 
ls -a
.bash_profile 없으면 touch .bash_profile
open -e .bash_profile
export PATH=$PATH:/Users/xxxxx/Library/Android/sdk/plaform-tools/
source .bash_profile
 
 
 
Gradle

 

Groovy를 이용한 빌드 도구 (자동화 시스템)
안드로이드 스튜디오 공식 빌드 시스템
Java, C/C++, Python 등 여러 언어 지원
 
 

 

반응형

'모바일 > 모바일 개발' 카테고리의 다른 글

애플스토어 | 인앱결제테스트와 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

댓글