Eclipse 에서 Android 작업 하는 방법은 많이 나와 있지만 NetBeans 에서 작업 하는 방법은 없는것 같아서 이리저리 검색하다가
NetBeans Wiki 에서 관련글이 올라와있는걸 확인하고 작업 시도 했으나 여러가지 오류가 나와서 여러번의 삽질끝에 구동 성공 하였다.
아래에 내가 만난 에러들에 대해서 정리하고 한다.
우선, NetBeans Wiki 에 나온 Hello, Android 프로그램에 관련된 글은 아래 링크를 참고 하기 바란다.
http://wiki.netbeans.org/IntroAndroidDevNetBeans
위에 글에도 나와있지만 아래에 간략하게 정리 한다.
우선 Android SDK 를 설치해야 한다.
http://developer.android.com/ 사이트 중간쯤에 SDK Download 가 있을거다.
본인이 사용하는 OS 에 맞는 SDK 를 다운로드하고 압축을 푼다.
나는 C:\Android 아래에 압축을 풀었다.
그 다음으로 Android 플러그인을 NetBeans에 설치해야 한다.
해당 프로젝트 경로는 http://kenai.com/projects/nbandroid/ 이다.
간단하게 설치하는 방법은 NetBeans를 구동한 상태에서
Tools -> Plugins -> Setting 메뉴를 차례대로 들어간다.
우측하단에 Add 버튼을 누르면 아래와 같은 창이 나오면 아래 처럼 채운다.
마우스로 복사하려면 http://kenai.com/downloads/nbandroid/updates.xml
그런다음 Available Plugins 탭에 들어가서 Android 를 선택하고 설치하면 된다.
설치가 끝나면 Installed 탭에 들어가보면 Android 가 들어가 있다.
그 다음에 할일은 Platform 을 추가 해야 하는데 아래와 같이 하자.
NetBeans 메뉴에서 Tools -> Java Platforms 로 들어가면 아래와 같은 화면이 나온다.
아래와 같이 선택하고 다음을 누르면 경로를 지정하라고 나오는데
C:\Android\android-sdk-windows-1.1_r1 처럼 본인이 SDK 를 압축해제한 디렉토리를 선택한다.
새 프로젝트를 시작하면 Android 프로젝트를 선택할수 있다.
아래처럼 프로젝트명을 선택하고 빌드하고 실행하면 Android Emulator가 구동되면 정상이다.
자동 생성된 소스는 아래와 같다.
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
// ToDo add your GUI initialization code here
}
}
아래 처럼 바꿔본다.
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
// ToDo add your GUI initialization code here
TextView tv = new TextView(this);
tv.setText("Hello, Android\n\nHello, KyRanDiA");
setContentView(tv);
}
}
tv 부분이 오류가 발생하면 아래처럼 import 를 추가한다.
그럼 아래 처럼 구동되어야 하지만 아마 오류가 날것이다.
위 처럼 구동이 안될 가능성이 높은데 그럴경우 아래에 내가 해결한 문제 해결방법을 시도해 보기 바란다.
Android SDK 디렉토리 아래에 tools 방에 보면
apkbuilder.bat 파일이 있다.
파일 안에 아래와 같은 부분이 있다.
set libdir=
위처럼 비어 있는것을 아래처럼 바꿔준다.
set libdir=[your_path]\android-sdk-windows-1.1_r1\tools\lib\
[your_path] 는 Android sdk를 설치한 폴더를 말한다.
자신의 상황에 맞게 입력한다.
내 경우는 아래와 같다.
set libdir=c:\Android\android-sdk-windows-1.1_r1\tools\lib\
그래도 컴파일 오류가 발생 한다면 apkbuilder.bat 파일에서 아래 라인을 삭제하거나 주석처리 한다.
주석처리 하려면 batch file 에서는 rem 을 앞에 붙이면 된다.
rem cd %~dp0
그래도 문제가 발생한다면 프로젝트 디렉토리 하단에 build-impl.xml 파일에서
아래처럼 된 곳을 찾아서
<arg value="${dist.apk}"/>
<arg value="-z"/>
<arg value="${dist.apk}_"/>
</exec>
아래처럼 바꾼다.
<arg value="${basedir}/${dist.apk}"/>
<arg value="-z"/>
<arg value="${basedir}/${dist.apk}_"/>
</exec>
캡쳐하면서 작성한다고 제대로 작성이 됐는지 모르겠다.