Eclipse + Andmore 기반 Android 개발환경 구축하기

Eclipse + Andmore 기반 Android 개발환경 구축하기

Click the link to go to: http://webnautes.tistory.com/1112

===

Eclipse에 Andmore 플러그인을 설치하여 Support , Google Play Services, Firebase 라이브러리를 사용한 이클립스 프로젝트를 생성하는 방법을 설명합니다.

안드로이드 스튜디오가 안정화되면서 구글에서 ADT 플러그인에 대한 지원을 중단했습니다.

Google의 ADT 플러그인을 대체하기 위해 이클립스 재단에서 Andmore 플러그인을 내놓았습니다.

https://developer.android.com/studio/tools/sdk/eclipse-adt.html

이번 포스팅에서는 Andmore 플러그인을 이용하여 안드로이드 개발환경을 만들어 보겠습니다.

최초 작성 : 2017. 2. 27

수정 : 2017. 6. 21

https://github.com/dandar3 에서 배포중인 이클립스용 안드로이드 라이브러리 프로젝트들이 Android 8.0.0(API 26)을 지원하고 있지 않아서 실행하는데 문제가 있습니다.

Android 8.0.0을 삭제하고 Android 7.1.1을 설치한 후, 진행하여 해결되었습니다.

그 외에 바뀐 내용도 있으니 자세한 내용은 포스팅을 참고하세요.

1. JDK 설치

2. Eclipse 다운로드

3. Andmore 플러그인 설치

4. Android SDK 설치

5. 안드로이드 환경으로 변경

6. 이클립스용 안드로이드 라이브러리 프로젝트 사용 방법

   6.1. Subversive 설치

   6.2. Support Library 가져오기

   6.3. 새로운 안드로이드 프로젝트 만들기

7. 기존 이클립스 ADT 프로젝트 불러오기

1. JDK 설치

1. http://www.oracle.com/technetwork/java/javase/downloads/ 에서  왼쪽에 있는 JDK를 선택합니다.

2. Accept License Agreement를 선택하여 라이센스에 동의해야 다운로드가 가능합니다.

사용하는 윈도우 버전에 따라 x86 또는 x64 용 jdk를 다운로드 받습니다.

3. 다운로드 받은 파일을 실행하여 옵션 변경없이 설치를 진행합니다.

4. PATH에 JDK 경로를 추가해줘야 합니다.

윈도우키+ R 을 눌러 sysdm.cpl 를 입력하여 시스템 속성을 실행시킵니다.

고급 탭의 환경 변수를 선택합니다.

시스템 변수 항목에 있는 새로 만들기를 클릭한 후..

변수이름으로 JAVA_HOME 을 입력하고 변수 값으로 JDK가 설치된 경로를 입력합니다.

보통 C:\Program Files\Java\아래에 JDK 버전 이름의 폴더에 설치가 됩니다.

시스템 변수 항목에서 Path변수를 선택한 후, 편집을 클릭합니다.

변수 값 맨 뒤에 ;%JAVA_HOME%\bin을 입력하고 확인을 클릭합니다.

최근 업데이트된 윈도우 버전의 경우 다음처럼 보입니다.

새로 만들기를 클릭하고.

%JAVA_HOME%\bin을 입력하고 확인을 클릭합니다.

5. 확인을 눌러 환경 변수 창을 닫은 후 윈도우+R을 누르고 cmd를 입력하여 명령 프롬프트를 실행합니다.

java를 실행했을 때 에러없다면 설정이 제대로 된 것입니다.

2. Eclipse 다운로드

http://www.eclipse.org/ide/ 에서 Java IDE를 선택합니다.

오른쪽 위에 보이는 다운로드 링크 목록에서 사용하는 윈도우 버전에 맞는 것을 선택하여 다운로드 받습니다.

설치 방식이 아니기때문에 압축을 풀은 후, eclipse 폴더를 원하는 곳으로 이동시키면 됩니다.

eclipse 폴더에 있는 eclipse.exe를 실행시킵니다.

이클립스에서 프로젝트 생성시 저장할 위치를 물어봅니다.

이 위치를 변경없이 계속 사용할거면 아래 체크박스를 체크해줍니다.

3. Andmore 플러그인 설치

이클립스에서 안드로이드 개발을 하기 위해 필요한 Andmore  플러그인을 설치합니다.

메뉴에서 Help > Eclipse Marketplace를 선택합니다.

Find 옆에 있는 입력란에 andmore를 입력하고 엔터를 누릅니다.

검색된 Andmore 항목에 있는 Install 버튼을 클릭하여  설치를 진행합니다.

Confirm 버튼을 클릭합니다.

I accept..를 선택하여 라이센스에 동의하고 Finish 버튼을 클릭합니다.

소프트웨어 설치가 진행됩니다.

설치된 Andmore 플러그인을 적용하기 위해서는 이클립스를 재시작해야 합니다. Yes 버튼을 클릭합니다.

4. Android SDK 설치

1. 이미 설치된 Android SDK 위치를 지정하라고 하는데 Close 버튼을 클릭합니다.

안드로이드 스튜디오에서 사용중인 Android SDK이 있더라도 다음과 같은 문제가 있어 독립적인 폴더에 새로 설치해야 합니다. (2017.6.22 확인 완료)

이클립스에서 Android SDK 위치를 지정해서 인식은 되지만 SDK Manager가 실행되지 않습니다.

그 밖에도 이클립스의  Device Management에서 폰의 인식이 안되고  설치되어 있는 플랫폼 SDK를 이클립스에서 제대로 인식하지 못해서 새로운 프로젝트가 생성되지 않습니다.

또 다른 문제는 안드로이드 스튜디오에서 API 26(Android 8.0.0)을 사용할 경우 문제가 생깁니다.

안드로이드 스튜디오용 라이브러리(.aar)에서 .jar를 추출하여 이클립스용 라이브러리 프로젝트를 생성한 결과물을 배포중인 깃허브가  아직 API 25(Android 7.1.1) 기반으로 작업되어 있기 때문입니다.

이클립스용 라이브러리 프로젝트를 이클립스로 가져오는 과정에서 설치된 최신 버전 SDK를 사용하도록 되어있는게 원인인 듯합니다.

추후 깃허브에서 배포중인 이클립스용 안드로이드 라이브러리 프로젝트가 Android 8.0.0( API 26 ) 기반으로 바뀌면 해당 버전으로 진행해야  합니다.

현재 안드로이드 스튜디오의 SDK Manager를 통해 다운로드 가능한 라이브러리들은 이클립스에서 바로 사용할 수 없습니다.

이클립스에서는 .jar가 필요한데 SDK Manager를 통해 다운로드 받은 라이브러리들은 .aar 파일 포맷이기 때문입니다.

필요한 라이브러리 .aar 파일을  복제하여 .zip로 확장자를 바꾼후, 압축을 풀어주면 .jar파일을 추출할 수 있습니다.

이 파일을 가지고 라이브러리 프로젝트를 생성하면 이클립스에서 사용가능하다고 합니다.

포스팅에서는 일일이 변환하는 대신에 미리 라이브러리 프로젝트를 생성하여 배포중인 아래 깃허브에 있는 이클립스용 프로젝트를 사용했습니다.

자세한 내용은 나중에 설명합니다.

https://github.com/dandar3

안드로이드 스튜디오에서 API 25(Android 7.1.1)를 설치하고 이클립스에서 같이 사용가능한지 여부는 확인해봤는데 사용이 불가능 합니다.

Andmore 플러그인을 사용하여 별도의 Android SDK를 설치해줘야 합니다.   (2017.6.22 확인 완료.)

확인 결과 안드로이드 스튜디오와 이클립스에 설치된 Andmore 플러그인이 같은 이름의 설정 폴더(.android)를 사용하고 있습니다.

하지만 이로 인한 사용하는데에는 별문제가 없습니다.

자세한 내용은  다음 포스팅에서 다루고 있습니다.

Android Studio와 Eclipse + Andmore 플러그인을 같이 설치하여 사용하는 방법

http://webnautes.tistory.com/1144

2. 위에서 설명했듯이  현재 최신 버전인 API 26(Android 8.0.0)는 사용할 수 없습니다.

여기선 SDK 버전을 선택할 수 없어서 대신 설치 시간을 줄이기 위해 용량이 작은 Install Android 2.2를 선택합니다.

Target Location에 SDK가 설치될 위치를 지정해주고 Finish를 클릭합니다.

Accept License를 선택하여 라이센스에 동의하고 Install을 클릭합니다.

SDK 다운로드 및 설치가 진행됩니다.

3. AVD 생성할 건지 물어보는데  아직은 할 수 없으므로 No를 선택합니다.

진행과정에서 계속 물어보기 때문에  Do not show me again을 체크해주는게 좋습니다.

4. 추가로 Android SDK Build-tools 설치가 필요하다고 나옵니다.

Open SDK Manager 버튼을 클릭하여 SDK Manager를 실행합니다.

5. Android SDK Build-tools는 디폴트로 26이 선택되는데 체크 해제하고 25.0.3을 선택합니다.

설치되어 있는 2.2(API 8)의 SDK Platform을 선택하여 제거 대상에 추가하고 7.1.1(API 25)의 SDK Platform을 추가로 선택했습니다.

8.0.0 항목은 모두 체크해제 해줍니다.

여기선 SDK 플랫폼 패키지만 설치하면 됩니다.

추가적인 라이브러리들은 선택하지 않습니다.

선택을 완료한 후  Install 버튼을 클릭하여 필요한 패키지들을 설치합니다.

Accept License를 선택하여 라이센스에 동의하고 Install을 클릭합니다.

다운로드 및 설치가 진행됩니다.

설치 완료 후,  왼쪽 하단에 Done loading packages라는 메시지가 보입니다.

Delete 버튼을 클릭하여 필요없는 패키지를 제거해줍니다.

삭제 완료 후,  왼쪽 하단에 Done loading packages라는 메시지가 보입니다.

SDK Manager를 종료해줍니다.

5. 안드로이드 환경으로 변경

이클립스가 현재 자바 환경으로 설정되어 있습니다.

현재 타이틀바에 Java라고 표시됩니다.

안드로이드 환경으로 바꿔야합니다.

메뉴에서 Window > Perspective > Open Perspective > Other를 선택합니다.

Open Perspective 창이 열리면 Android를 선택하고 OK버튼을 클릭합니다.

이제 타이틀바가 Android로 바뀌었습니다.

아래처럼 이클립스에 보여지는 항목들이 안드로이드 관련된 것들로 바뀝니다.

메뉴에서 window를 선택해보면 하위 항목에 SDK Manager와 Virtual Device Manager가 있습니다.

툴바에서도 실행 가능합니다.

컴퓨터에 안드로이드 폰을 연결하면

(이미 연결되어 있다면 분리했다가 다시 연결)

안드로이드 폰에 USB 디버깅 허용을 물어보는 메시지 박스가 보입니다.

확인을 선택해 줍니다.  체크박스를 설정해주면 다시 물어보지 않습니다.

이클립스 하단의 Device Management에 안드로이드 폰의 모델명과 OS 버전이 보여집니다.

안드로이드 폰을 연결했는데도 <none>이라고 보일 경우,  폰의 연결 방식을 PTP로 변경하면 해결됩니다.

안드로이드 폰에 위에서 언급한 USB 디버깅 허용을 물어보는 메시지 박스가 보이게 되는데 허용해줘야 합니다.

6. 이클립스용 안드로이드 라이브러리 프로젝트 사용 방법

앞에서도 언급했지만 Support Library나 Google Play Services, Firebase 라이브러리들이 이제는 .aar 파일 포맷으로 배포됩니다.

이클립스에서 라이브러리를 사용하려면 .jar 파일을 추출하여 이클립스용 라이브러리 프로젝트를 만들어 줘야 합니다.

여기에서는 아래 깃허브에서 배포중인  미리 변환해놓은 라이브러리 프로젝트들을 사용합니다.

깃허브에는 Support Library나 Google Play Services, Firebase 라이브러리를 이클립스에서 사용할 수 있게 .aar을 기반으로 생성해 놓은 60 여개의 라이브러리 프로젝트를 배포중입니다.

https://github.com/dandar3

Support Library, Google Play Services, Firebase 라이브러리에서 개별적으로 사용 가능한 목록 리스트는 다음 링크들에 소개되어 있습니다.

https://github.com/dandar3/android-support-library-README

AppCompat, CardView, Design, GridLayout, MediaRouter, Palette, Percent, Preference (v7), Preference (v14), RecyclerView

https://github.com/dandar3/android-google-play-services-README

Google Account Login, Google Analytics, Google Cast, Google Drive, Google Games, Google Fitness, Google Maps, Google Mobile Ads, Google Vision

https://github.com/dandar3/android-google-firebase-README

Firebase Ads, Firebase Analytics, Firebase Cloud Messaging, Firebase Crash Reporting, Firebase Remote Config

본 포스팅에서는 Android Support Library 중에서 AppCompat를 사용하는 방법을 소개합니다.

다른 라이브러리도 같은 방식으로 진행하여 추가하면 사용 가능합니다.

6.1. Subversive 설치

안드로이드 라이브러리 프로젝트를 가져와 이클립스에 추가하려면  Subversive를 설치해줘야 합니다.

메뉴에서 Help > Install New Software를 선택합니다.

Add 버튼 왼쪽에 있는 빨간사각형 부분을 클릭하여 Neon를 위한 다운로드 주소로 변경합니다.

Neon을 위한 다운로드 주소가 목록에 없다면 Add 버튼을 클릭하고 다음 값을 입력 후, OK를 클릭합니다.

Neon

http://download.eclipse.org/releases/neon

그 아래 입력란에 subversive를 입력하면 관련 패키지들이 검색됩니다.

목록 중 아래 화면처럼 4개를 체크하고  Next버튼을 클릭하여 설치를 진행합니다.

설치완료 후, 이클립스 재시작 묻는 질문에 Yes를 선택하여 재시작합니다.

이클립스가 다시 실행되면 메뉴에서 Window > Perspective > Open Perspective > Other를 선택합니다.

Open Perspective 창이 열리면 SVN Repository Exploring를 선택하고 OK버튼을 클릭합니다.

SVN Kit를 체크하고 Finish버튼을 클릭합니다.

이제 설치가 진행됩니다.

보안경고가 뜨지만 무시하고 OK를 선택합니다.

적용하기 위해 이클립스 재시작이 필요합니다. Yes를 선택합니다.

이클립스가 다시 실행되면 안드로이드 환경으로 바꿔야합니다.

메뉴에서 Window > Perspective > Open Perspective > Other를 선택합니다.

Open Perspective 창이 열리면 Android를 선택하고 OK버튼을 클릭합니다.

6.2. Support Library 가져오기

메뉴에서 File > Import를 선택합니다.

Import 창이 보이면 Team > Team Project Set을 선택하고 Next 버튼을 클릭합니다.

https://github.com/dandar3/android-support-library-README 를 보면 AppCompat를 사용하기 위해 필요한 라이브러리 목록이 있습니다.

1번 라이브러리 이름(android-support-v7-appcompat)을 클릭하여 웹페이지를 맨아래로 스크롤합니다.

SVN checkout 항목에 appcompat를 포함하여 의존성이 있는 라이브러리 프로젝트를 한번에 다 가져올 수 있는 URL이 보입니다.

URL을 선택하고 위에서 찾은 URL를 입력하고 Finish를 클릭합니다.

라이브러리 프로젝트가 다운로드되어 Package Explorer에 추가됩니다.

아직 문제가 있어서 라이브러리 프로젝트 이름 앞에 빨간 느낌표가 보입니다.

Problems 창을 확인하면 라이브러리 프로젝트 별로 다음 2가지 에러가 나있습니다.

Project ‘android-support-annotations’ is missing required source folder: ‘gen’

The project cannot be built until build path errors are resolved

현재 라이브러리 프로젝트 구조를 보면 gen 폴더가 없는 것을 볼 수 있습니다.

gen 폴더가 없는 문제는 다음 과정을 통해 해결됩니다.

Package Explorer에 추가되어 있는 모든 라이브러리 프로젝트를 선택 후, 마우스 우클릭하여 보이는 메뉴에서 Configure > Convert ADT Android Configuration을 선택합니다.

빨간색 느낌표(또는 X 표시)와 프로젝트 이름사이에  > 표시가 추가됩니다.

라이브러리 프로젝트의 구조를 살펴보면 gen 폴더를 비롯하여 몇가지 항목들이 추가되었습니다.

Problems 창을 확인하면 프로젝트 별로 다음 에러만 남습니다.

The project cannot be built until build path errors are resolved

빌드 경로 에러는 전체 라이브러리 프로젝트를 Clean해주면 해결됩니다.

메뉴에서 Project > Clean을 선택합니다.

Clean 창에서 Clean all projects가 선택된 상태에서 OK를 클릭합니다.

라이브러리 프로젝트 앞에 있던 빨간색 느낌표(또는 X표시)가 사라지고

Problems 창에도 모든 문제가 해결된 것으로 표시됩니다.

6.3. 새로운 안드로이드 프로젝트 만들기

새로운 안드로이드 프로젝트를 생성한 후,  설정에서 appcompat 라이브러리 프로젝트를 사용하도록 추가하는 과정을 설명합니다.

제대로 동작하는지 확인하기 위해 TextView에 간단한 문자열을 출력하는 예제를 작성하도록 하겠습니다.

메뉴에서 File > New > Android Application Project를 선택합니다.

Application Name과  Package Name을 원하는 것으로 수정합니다.

밑에 있는 SDK 항목들중에서 Compile With는 API 25를 선택해야합니다. Next를 클릭합니다.

프로젝트에 런처 아이콘, 액티비티 생성할지 여부와 프로젝트 저장위치등을 결정합니다.

Create activity를 체크 해제합니다.

런처 아이콘 관련 설정은 디폴트로 두고 Next를 클릭합니다.

생성할 액티비티의 종류를 선택합니다. 여기선 Empty Activity로 합니다.

Create Activity는 체크해제 한 상태로 둡니다.

우선 다음 에러부터 해결합니다.

C:\Users\note\workspace\HelloWorld\AndroidManifest.xml:10: error: Error: No resource found that matches the given name (at ‘icon’ with value ‘@drawable/ic_launcher’).

AndroidManifest.xml 매니페스트 파일의 android:icon 속성값에서 drawable를 mipmap으로 수정하고 저장하면 해결됩니다.

<manifest xmlns:android=”http://schemas.android.com/apk/res/android”
   package=”com.tistory.webnautes.helloworld”
   android:versionCode=”1″
   android:versionName=”1.0″ >

   <uses-sdk
       android:minSdkVersion=”8″
       android:targetSdkVersion=”23″ />

   <application
       android:allowBackup=”true”
       android:icon=”@mipmap/ic_launcher”
       android:label=”@string/app_name”
       android:theme=”@style/AppTheme” >
   </application>

</manifest>

appcompat 라이브러리 프로젝트를 HelloWorld 안드로이드 프로젝트에서 사용하도록 추가해줍니다.

HelloWorld 프로젝트 선택 후, 마우스 우클릭하여 Properties를 선택합니다.

왼쪽에서 Android를 선택한 후,  오른쪽 Library 항목에 있는 Add버튼을 클릭합니다.

android-support-v7-appcompat를 선택하고 OK버튼을 클릭합니다.

Library에 android-support-v7-appcompat가 추가됩니다. OK버튼을 클릭합니다.

레이아웃 파일을 추가하기 위해 HelloWorld 프로젝트의 res 폴더 아래에 있는 layout을 선택합니다.

마우스 우클릭 후,  New > Android XML File을 선택합니다..

File 항목에 activity_main.xml입력하고, Finish버튼을 클릭합니다.

다음처럼  코드를 추가하고 파일을 저장합니다.

<?xml version=”1.0″ encoding=”utf-8″?>
<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”
   android:layout_width=”match_parent”
   android:layout_height=”match_parent”
   android:orientation=”vertical”

   xmlns:tools=”http://schemas.android.com/tools”

   tools:context=”.MainActivity” >

    <TextView
    android:id=”@+id/textview_main_message”

    android:layout_width=”wrap_content”
    android:layout_height=”wrap_content”
    android:text=”Hello World!” />

</LinearLayout>

AndroidManifest.xml에서 테마를 Theme.AppCompat로 변경하고 MainActivity를 위한 activity 태그를 추가하고 저장합니다.

<manifest xmlns:android=”http://schemas.android.com/apk/res/android”
   package=”com.tistory.webnautes.helloworld”
   android:versionCode=”1″
   android:versionName=”1.0″ >

   <uses-sdk
       android:minSdkVersion=”8″
       android:targetSdkVersion=”23″ />

   <application
       android:allowBackup=”true”
       android:icon=”@mipmap/ic_launcher”
       android:label=”@string/app_name”
       android:theme=”@style/Theme.AppCompat” >
       
       <activity android:name=”.MainActivity”>
           <intent-filter>
               <action android:name=”android.intent.action.MAIN” />

               <category android:name=”android.intent.category.LAUNCHER” />
           </intent-filter>
       </activity>
       
   </application>

</manifest>

이제 MainActivity를 위한 자바 파일을 추가합니다.

프로젝트 아래에 있는 src를 선택하고 마우스 우클릭 후,  New > Class를 선택합니다.

Package 항목에 앞에서 입력했던 패키지 이름(com.tistory.webnautes.helloworld)을 입력합니다.

Name 항목에 MainActivity를 입력합니다.

Superclass 항목에 android.support.v7.app.AppCompatActivity를 입력하고 Finish를 클릭합니다.

자동으로 생성된 코드에 다음 노란줄들을 추가해줍니다.

package com.tistory.webnautes.helloworld;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import android.widget.TextView;



public class MainActivity extends AppCompatActivity {

    @Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

TextView message = (TextView) findViewById(R.id.textview_main_message);

message.setText(“안녕 세상아!”);

}

}

안드로이드 폰을 컴퓨터에 재연결하여 Device Management 창에서 인식되도록 합니다.

Package Explorer에서 HelloWorld 프로젝트 이름을 선택 후

툴바에서 RUN 아이콘을 클릭합니다.

첫번째 항목에 있는 Android Application을 선택하고 OK를 클릭합니다.

에러가 발생했다는 대화상자가 떠서

확인해보니 다음과 같은 에러가 납니다.

Dx unsupported class file version 52.0

메뉴에서 Window > Preferences를 선택합니다.

Preferences창의 왼쪽 목록에서  Java > Compiler를 선택합니다.

Compiler compliance level을 1.7로 변경하고 OK 버튼을 클릭합니다. ( https://goo.gl/HbS9n5  )

Yes를 선택하면 프로젝트 빌드가 다시 진행됩니다.

다시 Run 해보면 문제 없이 안드로이드 디바이스 선택하는 창이 뜹니다.

안드로이드 폰을 선택하고 OK버튼을 클릭합니다.

자동으로 로그캣에 앱 관련 메시지를  보여줄지  물어보는 메시지 박스가 보이면 디폴트 값으로 두고 OK를 클릭합니다.

로그캣 창의 왼쪽에 보이는 Saved Filters에 폰에 설치한 앱의 패키지 이름이 추가됩니다.

실행 결과입니다..

7. 기존 이클립스 ADT 프로젝트 불러오기

https://github.com/victorneo/Android-Examples 에 있는 프로젝트 중 CameraExample를 불러오는 테스트를 해보았습니다.

메뉴에서 File > Open Projects from File System를 선택합니다.

Directory 버튼을 클릭하여 이클립스 ADT 프로젝트 폴더를 선택해주고 Finish버튼을 클릭합니다.

프로젝트 이름 CameraExample을 선택하고 마우스 우클릭해서 Configure > Convert ADT Android Configuration을 선택합니다.

다시 프로젝트 이름을 선택하고 마우스 우클릭해서 Properties를 선택합니다.

왼쪽 목록에서 Android를 선택하고 Project Build Target 패널에서 Android 7.1.1을 체크합니다.

AppCompatActivity 대신에 Activity를 사용하는 프로젝트라서 추가적인 라이브러리는 필요없습니다.

실행해본 결과입니다.

Post Comment