방대한 문서보다 동작하는 소프트웨어

개발

[안드로이드] Android Studio 필수 설정, 플러그인, 단말설정, 도구

꽃게장세트 2022. 4. 8. 05:11

필수 설정

메모리 설정

A.S 를 실행하는 JVM(Java Vertual Machine)은 미리 정의된 메모리 양을 할당한다. 기본값은 플랫폼에 따라 다르지만, 이는 안드로이드 앱을 개발함에 있어 대부분 부족하다. 때문에 속도가 느려지기 전에 메모리 힙을 늘려 사용하는 것을 권장한다. 그렇지 않으면 미리보기 화면을 렌더링 하는 중에 A.S 가 먹통이 될 수 있다. 필자는 12GB를 할당한다.

-Xmx12288m

Help > Custom Editor VM Options... > studio.vmoptions(파일) 에서 설정 가능하다.

최신라이브러리 체크 비활성화(Lint)

Preferences -> Editor -> inspections -> NewerVersionAvailable  비활성화 시키는게 좋습니다.  활성화 화면 지속적으로 라이브러리 최신버전을 체크하기 때문에 안드로이드 스튜디오가 느려질 수 있기 때문입니다.

유용한 플러그인

Kotlin Fill Class

객체의 전체 인자를 채워주는 기능입니다. Option + Enter 를 눌러서 사용할 수 있습니다.(https://plugins.jetbrains.com/plugin/10942-kotlin-fill-class)

Gradle Dependency Updates

우리가(개발자) 추가한 각종 라이브러리의 최신버전을 비교해서 알려줍니다 : )

Compose Auto Preview

작고 사소하고 반복적인 Preview 를 빠르게 구현할 수 있도록 도와준다.

fun HomeScreen() {
	...
}

@Preview
@Composable
fun PreviewHomeScreen() {
	HomeScreen()
}

Json Formatter

Json Viewer 는 정말 다양하다. 내가 필요한 것은 보여주고, 접어주고 딱 2가지 기능만 있으면 된다.

https://plugins.jetbrains.com/plugin/13931-json-formatter

GitToolBox

커서가 위치한 코드 라인별로 수정한사람, 수정일시, 커밋내역 을 출력해준다.

ON/OFF 할 수 있다.

ADB Idea

터미널에서 adb 커멘드를 대체한다.

ADB Uninstall App
ADB Kill App
ADB Start App
ADB Restart App
ADB Clear App Data
ADB Clear App Data and Restart
ADB Start App With Debugger
ADB Restart App With Debugger
ADB Grant/Revoke Permissions
ADB Enable/Disable Wi-Fi
ADB Enable/Disable Mobile Data

JSON To Kotlin Class

JSON 문자열을 Kotlin 데이터클래스 코드로 빠르게 변환한다. 단축키는,

⌥ + K
⌘ + N

Rainbow Brackets

코드를 아름답게 해준다. 지원되는 언어는,

Java, Scala, Clojure, Kotlin, Python, Haskell, Agda, Rust, JavaScript, TypeScript, Erlang, Go, Groovy, Ruby, Elixir, ObjectiveC, PHP, HTML, XML, SQL, Apex language, C#, Dart, Pug/Jade, Bash, Vue.js, C# Razor Pages, GLSL(the OpenGL Shading Language), Go Template, C++, C...

Translator

코딩할 때 번역을 도와준다. Korean 전용이다.  기막힌 플러그인이다. 단축키는 심플하게 세 가지다. 물론 제작자는 Korean 이다.

 

번역 할 때,

 + 1

번역하고 바꿀 때

 + 2

사전 팝업 띄울 때

 + 3

Key Promoter X

단축키를 외울 수 있도록 도와준다. 가령,

기능을 사용할 때마다 단축키를 (귀찮게)팝업으로 알려준다.
단축키가 숙지 됐다면 개별 팝업을 비활성화 할 수 있다.
각 단축키를 몇 회 눌렀는지 알려준다.
단축키가 설정되어 있지 않은 기능도 팝업을 띄어서 단축키를 설정할 수 있도록 돕는다. keymap 을 설정할 수 있는 화면을 띄어준다.
설정을 리셋할 수 있다. 

.ignore

다양한 .ignore 파일을 제공해준다. 물론 Android 도 제공한다. IDE, Language, Frameworks 별로 다양하게 제공한다.

Compose Helper

컴포저블을 다른 컴포저블로 래핑하는 플러그인이다. ⌥ + Enter 로 아래의 기능을 수행할 수 있다.

Wrap with Box
Wrap with Card
Wrap with Column
Wrap with Row
Wrap with LazyColumn
Wrap with LazyRow

Remove the parent composable
Remove the composable altogether

Highlight Colors for Compose

androidx.compose.ui.graphics.Color 로 표시되는 색상을 나타내는 편집기의 여백에 직사각형으로 색을 나타낸다.

 

Compose Modifiers Playground

말그대로 Modifier 의 Playground 다. 코드를 직접 타이핑 하지 않는다. 설정을 통해 컴포즈 함수를 수정한다. 설정을 통해 생성된 코드를 볼 수 있고 복&붙 하여 안.스에 붙여넣을 수 있다.

MAD Scorecard

안드로이드 앱을 개발할 때 얼마나 최신 라이브러리로 개발하고 있는지 지표를 알려주는 플러그인이다. Google LLC 에서 만들었다.

Compose

Jetpack Compose IDE 플러그인으로 컴포즈로 개발한다면 필수로 설치하는걸 권장한다. 물론 설치하지 않아도 모든 개발은 가능하다.

가령, 컴포즈 함수를 컨벤션에 따라 파스칼 케이스로 작성하면 경고가 뜬다. 이 플러그인을 설치하면 컴포즈 함수에 대해서 경고를 나타내지 않는다.

 

그 외 개발에 필요한 것들

pidcat

터미널에서 로그를 볼 때 사용한다.

brew install pidcat

안.스에서 로거가 끊기는 경우가 잦다. 특히 로그 버퍼당 로거 크기가 적게 되어 있다면 개발하기 불편할 정도다. 로그 버퍼당 로거 크기는 64K ~ 16M 까지 다양한데 16M 설정이 필수다. 이는 보통 설정 > 개발자옵션 에서 설정가능하다.

scrcpy

이 어플리케이션은 UBS( 혹은 TCP/IP )로 연결된 Android 디바이스를 화면에 보여주고 관리하는 것을 제공한다.

brew install scrcpy

 

단말 설정들

개발자옵션

로거 버퍼 크기(로그 버퍼당 크기 최대)

단말의 로그가 오랫동안 나올 수 있도록 도와준다.

충돌 다이얼로그 항상 표시

유저 크래시(앱종료)가 발생했을때 다이얼로그를 띄울 것이지 여부를 가린다. 안드로이드 플랫폼 정책에 따라 기본 설정은 OFF 다. 크래시가 발생할 때, 다이얼로그가 뜨면 유저에게 좋지 않은 경험을 주기 때문이다. 어느 버전까지 인지는 기억이 나질 않지만 종전에는 크래시 발생시 다이얼로그가 뜨는게 기본 이었다. 개발자에게는 크래시 다이얼로그가 뜨는게 득이다.

디스플레이

부드러운 모션 및 화면 전환(높음/일반)

초당 프레임을 말한다. 초당 60 또는 120 프레임이다. 기본값은 60이며 120으로 할 때 눈이 편안하다.