라이브러리를 만들다보면 코드를 난독화시켜야 하는 이슈가 발생합니다. 예를 들면 보안상의 이유라든지 아니면 소스 유출을 방지하기 위한 목적으로 말이죠. 오늘 글에서는 안드로이드 라이브러리(jar)에 ProGuard를 적용하는 방법을 알아보도록 하겠습니다. ProGurad 정의와 개념 안드로이드 라이브러리를 난독화하기 전에 코드를 난독화 시킬 때 사용할 ProGuard에 대해 설명하면, ProGuard는 JVM 기반 애플리케이션의 성능과 보안을 향상시키기 위해 사용하는 오픈 소스 도구입니다. 다시 말해 ProGuard를 사용하면 손쉽게 코드를 축소화, 최적화 및 난독화 할 수 있습니다. ProGuard가 지원하는 기능은 크게 3가지 입니다. 1. 축소화(Shrinking): 사용하지 않는 코드와 리소스를 제..
안드로이드 앱을 개발할 때 일반적으로 사용하는 기능 중 하나가 바로 findViewById()입니다. 특정 TextView의 문자 값을 변경하거나 이벤트를 처리할 때 등등 화면의 요소를 findViewById()로 찾아 제어합니다. val textView: TextView = findViewById(R.id.text_main) 이런 코드로 말이죠. 하나의 TextView 정도야 예제 코드처럼 쉽게 쓸 수 있지만 화면에서 관리해야 하는 요소가 늘어날수록 findViewById()는 부담스러울 정도로 늘어납니다. 이러한 부분을 조금 더 간결한 코드로 손쉽게 해결할 수 있는 방법이 데이터 바인딩입니다. 데이터 바인딩은 데이터와 화면을 연결 짓는 기술로 안드로이드 앱뿐만 아니라 화면과 관련된 기술들(WinFor..
안드로이드 앱을 개발하기 위해서는 기초적으로 알야 할 개념이 다섯 가지가 있습니다. 바로 액티비티(Activity), 서비스(Service), 브로드캐스트 리시버(Broardcast receiver), 콘텐츠 프로바이더(Content provider)라고 불리는 4개의 컴포넌트, 그리고 메시지를 칭하는 인텐트(Intent)입니다. 아직은 공부하는 중이라 코드 수준으로 명확하게 설명하기는 어렵지만 개념적으로는 한번 정리해두는 게 좋을 것 같아 이렇게 정리해봅니다. 안드로이드 앱에서 이야기하는 컴포넌트라는 것은 우리가 집을 만든다고 하면 필요한 시멘트나 골조나 벽돌 같은 개념입니다. 제대로 사용할 줄 몰라도 어떻게든 사용은 가능하지만 조금 더 정확히 알고 사용방법을 분명히 안다면, 더 멋진 앱을 만들 수 있..
최근 앱을 만들어보고 싶어 져서 코틀린과 안드로이드 앱 공부를 시작했습니다. 아직 잘 모르는 부분이 많아 안드로이드 앱을 만드는 내용을 기초 단계에서부터 차근 차근히 조금씩 정리를 해보려고 합니다. 이번에는 그 시작 단계로 안드로이드 스튜디오를 사용해 빈 프로젝트를 만들고 실행하는 과정을 알아보겠습니다. 안드로이드 스튜디오를 설치하는 과정은 따로 정리하지 않았습니다. 필요하신 분은 공식 홈페이지에서 확인해주세요. 안드로이드 앱 빈 프로젝트 생성하기 안드로이드 스튜디오를 설치하고 실행하면 위와 같은 화면이 보입니다. New Project는 신규 안드로이드 앱 프로젝트를 생성할 수 있고, Open은 컴퓨터에 저장되어 있는 기존에 사용하던 앱 프로젝트를 열 수 있습니다. Get from VCS는 Git, SV..