평범한 개발자 행복한 가족, 패밀리그램

개발/안드로이드 32

안드로이드 Jenkins 설정 시 반드시 필요한 것들

CI 서버를 운용하기 위해 Jenkins 를 사용한다. 안드로이드 프로젝트에서 Jenkins 사용 시 필요한 것들이 무엇인지 정리해본다. 서버 Ubuntu 서버 JDK sudo apt-get install openjdk-8-jdk JREsudo apt-get install openjdk-8-jreAndroid SDKsudo wget http://dl.google.com/android/repository/tools_r25.2.3-linux.zip ( 버전에 따라 경로가 다르다.)안드로이드 sdkmanager --update빌드에 필요한 build-tools 설치 빌드에 필요한 support library 설치. 나머지 필요한 것들은 Jenkins에서 처리 할 수 있다.

안드로이드 프로젝트 Jenkins 설정 에러 #2

Could not initialize analytics, treating as opt-out. java.io.FileNotFoundException: /var/lib/jenkins/.android/analytics.settings (No such file or directory) Jenkins 폴더에 .android 폴더가 없어서 발생하는 문제. Jenkins 프로젝트 빌드 스크립트에 아래 Shell 스크립트를 추가하면 해결된다. ( Ubuntu ) 1234567891011if [ -d ~/.android ]; then echo ".android is exists" else echo "Create .android directory" mkdir ~/.android fiColored by Color Scri..

안드로이드 프로젝트 Jenkins 설정 에러 #1

[Gradle] - Launching build. [****] $ /var/lib/jenkins/workspace/****/gradlew assembleRelease Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain 정말 기본적인 실수 중 하나인 것 같다. Version control에 (Git, SVN 등등) 프로젝트의 gradle 폴더가 포함되어 있지 않아 발생하는 문제이다. 프로젝트의 gradle 폴더가 소스서버에 올라가있는지 확인 다시확인해 보면 정상적으로 진행되는 것을 확인 할 수 있다. start build [Gradle] - Launching build. [****] $ /var/lib/jenkins/w..

안드로이드 IOIO - 개발자의 고장난 RC 자동차 장난감 살리기 #3

안드로이드 IOIO - 개발자의 고장난 RC 자동차 장난감 살리기 #1안드로이드 IOIO - 개발자의 고장난 RC 자동차 장난감 살리기 #2 이전 포스팅에서 IOIO와 고장난 RC 장난감 자동차를 연결하는 작업을 진행 했었습니다. 이번 포스팅에선 본격적으로 간단한 코딩과 동작완료!우선 IOIO 관련 Android Java Library가 있습니다. 정확한 레퍼런스는 아래 링크에서 확인 할 수 있습니다.https://github.com/ytai/ioio/wiki/Building-IOIO-Applications-With-Gradle 개발에 앞서 개발환경은 아래와 같습니다.조정 단말기 Nexus5 N (Nougat 7.1) compile SDK version 25 (2017, 01-22 기준 최신) min S..

안드로이드 IOIO - 개발자의 고장난 RC 자동차 장난감 살리기 #2

안드로이드 IOIO - 개발자의 고장난 RC 자동차 장난감 살리기 #1안드로이드 IOIO - 개발자의 고장난 RC 자동차 장난감 살리기 #3 이전 포스팅에서 고장난 RC 장난감 자동차에 L293D가 삽입된 PCB를 장착하는 것 까지 완료 하였었다. 이번에는 L293D와 안드로이드 IOIO를 연결하는 작업을 하였다.( 퇴근 후 아이랑 놀아주다가 아이가 잠든 후 작업을 해야하기 때문에 시간이 충분하지 않다 ㅠㅠ) 지난 번 업로드 하였던 PCB가 장착된 RC 장난감 자동차의 마지막 모습. L293D와 IOIO의 연결은 오랫 동안 사용하지 않은 연습용 PCB에 삽입된 일부 소켓을 재활용 하였다. 오랫동안 사용하지 않은 연습용 기판에 장착된 소켓 중 하나를 때어 내었다. 해당 소켓의 Pin이 IOIO 소켓에 딱 ..

안드로이드 IOIO - 개발자의 고장난 RC 자동차 장난감 살리기 #1

안드로이드 IOIO - 개발자의 고장난 RC 자동차 장난감 살리기 #2안드로이드 IOIO - 개발자의 고장난 RC 자동차 장난감 살리기 #3 얼마 전 아들이 무선조정 미니카를 본 뒤로 굴러다니는 장난감 자동차만 보면 조정하는 척을 한다.( 무선 조정 미니카를 사주지 못 해 미안해 ㅠㅠㅠㅠ)그러던 중 오래 전 어머니가 가져온 무선조정 미니카가 생각났다. 무선조정 미니카를 몇 년전 구매한 IOIO를 연결하기로 마음을 먹었다. 안드로이드 IOIO 안드로이드 IOIO는 아두이노가 폭발적인 인기를 끌 때 구글에서 발표한 OTG Deivce 이다. 실제로 2011, 2012 Google IO 에서 ADK (Accessory Development Kit) 를 공개하고 배포하였다. ADK 레퍼런스 : Google De..

FirebaseMessaging 적용, App Background 상태 이슈

기존에 GCM을 Firebase로 마이그레이션 하면서 포스팅 해야지 계속 미루다 이제서야 포스팅한다.Firebase에서 CloudMessage 기능이 추가 되었다. 기존에 Push 서버 없이도 Push를 보낼 수 있을 수 있게 된 것이다. 아래 내용을 확인하기 전에 참고하기 전에 알아할 점은 FirebaseMessaging은 Client App에서 Push서비스를 구현만 하면 Notification은 Firebase 관련 SDK에서 노출시켜 준다는 것이다.그리고 기존에 GCM Json과 크게 변함이 없는 구조로 데이터가 Service로 수신된다는 것 이다. Google Document FCM Migration 기존 GCM에서 Migration 은 Google 가이드만 따라해도 충분히 할 수 있다. 1. ..

ScrollView안에 RecyclerView를 넣었을 때 RecyclerView의 Scrolling 무시하기.

NestedScrollView 내에 RecyclerView를 넣어 좀 더 다양한 UI를 구현하려고 할 때 NestedScrollView와 RecyclerView의 Scrolling 방향이 동일 할 경우 발생하는 문제가 있다.뭐 당연한 문제지만, 두개의 View 모두 Vertical scrolling이라고 할 때 ScrollView 영역에서는 스크롤이 자연스럽지만, RecyclerView에서는 부 자연스러운 동작을 보여준다. 그리고 SupportToolBar의 layoutScrollingFlag가 아래와 같을 때 RecyclerView영역에서는 정상동작 하지 않는 모습을 보여준다. 1 app:layout_scrollFlags="scroll|enterAlways"cs 이런 경우 RecyclerView의 Sc..

AsyncTask 에 대하여 #2. 스케쥴링 ThreadPool

AsyncTask 에 대하여 #1. 간단한 설명 위 포스팅에서 설명했던 간단한 AsyncTask에 대한 동작외에 실제로 AsyncTask가 동작되는 ThreadPool에 대해간단하게 알아보려고 한다. AsyncTask.java 소스를 살펴보면 클래스 변수 중에 아래와 같은 변수를 볼 수 있다. private static volatile Executor sDefaultExecutor = SERIAL_EXECUTOR; Colored by Color Scriptercs 224 라인에 위와 같이 선언되어 있다.(Android SDK 버전에 따라 코드라인이 다를 수 있다.) SERIAL_EXECUTOR 가 기본 ThreadExecutor 이다 . 여기서 Executor는 AsyncTask Thread를 관리해 주..

AsyncTask 에 대하여 #1. 간단한 설명

안드로이드 App개발에서 빼 놓을 수 없는 AsyncTask에 대한 포스팅을 이번에 해보려고한다. AsyncTask에 대해서는 워낙 많이 사용되고 비동기 처리에서 모르면 안돼는 것이니 자세한 설명은 생략하겠다. AsyncTask에 대하여 1. AsyncTask의 소속 패키지 안드로이드 Framework 소스를 볼 때 패키지에 대해서도 한번 관심을 갖어주어야한다. - android.os.AsyncTask AsyncTask 의 패키지는 android.os 이다. 패키지가 직관적이지 않은가?android 의 os와 관련있는 패키지라는 것이다. 그렇다면 왜 OS와 관련이있을까 ? 답변은 간단하다, AsyncTask의 스케쥴링을 OS에서 해주기 때문이다.Thread를 사용하면 Thread Pool을 만들어 관리가..

반응형