2011-02-27 4 views
23

Ant 빌드 파일이있는 Android 프로젝트가 있습니다.Eclipse에서 Android build.xml을 사용하고 계십니까?

[email protected]:~/git/$ ant 
Buildfile: build.xml 
    [setup] Android SDK Tools Revision 8 
    [setup] Project Target: Android 2.1-update1 
    [setup] API level: 7 
    [setup] 

    ... etc etc etc ... 

을하지만, 일식이를 사용하려고하면 build.xml 빨간색-X가 있습니다 : 그것은 명령 줄을 통해 잘 작동합니다. 기본 목표에 도움 그것은 인터넷에서 다른 사람처럼 보인다

이 문제를 가지고이 프로젝트에 존재하지 않는, 사실에 의한 것으로 보인다

<?xml version="1.0" encoding="UTF-8"?> 
<project name="MyWonderfulProject" default="help"> 

<project는 오류 밑줄 build.xml은이 빌드 파일이 가져 오는 여러 중첩 된 안드로이드 전용 파일에서 나온 지시어를 사용하고 있습니다.

내 작업 공간에 Eclipse의 빌드 메커니즘을 사용하는 다른 프로젝트가 있으므로 내 환경에서 문제없이 Android 애플리케이션을 컴파일, 실행 및 배포 할 수 있다는 것을 알고 있습니다. 하지만이 빌드 파일은 나에게 두통을주고있다.

수정 사항은 무엇입니까? 당신의 build.xml 가져온 하나에 의존하기보다는 자신의 도움말 대상이있는 경우

답변

0

는, 당신은 라인이 정말없는

<taskdef name="setup" classname="com.android.ant.SetupTask" classpathref="android.antlibs" /> 
+1

클릭 한 자아 정의 도움말 대상이 없습니다. android_rules.xml의 도움말 대상을 사용해야하지만 build.xml 파일에 붙여 넣기해도이 오류가 해결되지 않습니다. (이클립스 3.6, 안드로이드 skd 10, 대상은 android-7입니다) 명령 행에 개미가있는 건물은 완벽하게 작동합니다. – forksandhope

1

대답하기 전에 목표를 둘 필요가 있지만, 무엇을위한 그것은 가치가있어, 나는 이클립스 프로젝트를 작업 공간에서 제거하고 프로젝트 디렉토리에서. *를 삭제하고 다시 시작함으로써 문제를 해결할 수 있었다. 이클립스 FTW!

13

옵션 1 :

가져 오기 build.xml 파일의 안드로이드 개미 템플릿 파일. 당신이 sdk.dirlocal.properties에 정의 안드로이드 설치 디렉토리에 가리키는 프로젝트 요소 아래에 다음을 추가 한 가정하면 :

<import file="${sdk.dir}/platforms/${target}/templates/android_rules.xml" /> 

옵션 2 :

실제로 이클립스 개미의 관점에서 안드로이드 ant 대상을 사용하려면, 위의 도움이되지 않습니다.

  • 프로젝트 build.xml을 빌더로 가져옵니다. 다음을 수행하여 완료 할 수있는 일반적인 수준의 비 호환성이있는 것으로 보입니다. 프로젝트 속성 -> 빌더 -> 가져 오기.
  • 옵션 1을 사용하지 마십시오. 대신 누락 된 템플릿에 대한 경고를 무시하십시오. 전역 속성 -> 개미 -> 편집기 -> 문제. 이름에 build.xml을 추가하십시오.

이것은 모든 프로젝트에 영향을 주며 실제 오류는 무시하므로 완벽한 해결책은 아닙니다. 그러나 이클립스 내부와 명령 행에서 안드로이드 빌드 옵션을 사용할 수 있습니다.

+0

이것은 올바른 방향으로 나아가는 단계입니다! Follow-up : 이제 build.xml을 볼 때 red-X가 사라집니다. 그러나 Ant의 관점에서 여전히'$ {sdk.dir}/platforms/$ {target} /templates/android_rules.xml을 가져올 수 없습니다 ... '라는 오류가 있습니다. 편집기에서 변수 위로 마우스를 가져 가면 올바른 값이 나타납니다. 하지만 Ant의 관점은 그 대체를하지 않는 것 같습니다. 도움? – poundifdef

+0

당신은 내 날 Tatu Lahtela를 만들었습니다 !! 위대한 답변을 주셔서 감사합니다. :-) – Bryan

+0

거의 작동합니다! Ant 퍼스펙티브는 내 build.xml에 타겟을 표시하지 않기 때문에 개별 타겟을 더블 클릭 할 수있다. 당신도 똑같은 행동을합니까? – poundifdef

4

이 문제는 해결되지 않지만 Eclipse가 중단됩니다. Window > Preferences > Ant > Editor으로 이동하여 Problems 탭을 선택하십시오. ignore all buildfile problems 상자를 확인하십시오.

+0

이것은 거의 작동합니다! Ant 퍼스펙티브는 내 build.xml에 타겟을 표시하지 않기 때문에 개별 타겟을 더블 클릭 할 수 있습니다. 동일한 동작을합니까? – poundifdef

+0

무시 상자를 체크하면 build.xml을 열거 나 닫아야했습니다. 오류가 사라지게하려면 – Asahi

6

$ {sdk.dir}/tools/ant/main_rules에 정의 된 'help'라는 대상이 하나 있습니다.xml은 아래와 같습니다.

<target name="help"> 

    <echo>Android Ant Build. Available targets:</echo> 
    <echo> help:  Displays this help.</echo> 
    <echo> clean:  Removes output files created by other targets.</echo> 
    <echo> compile: Compiles project's .java files into .class files.</echo> 
    <echo> debug:  Builds the application and signs it with a debug key.</echo> 
    <echo> release: Builds the application. The generated apk file must be</echo> 
    <echo>    signed before it is published.</echo> 
    <echo> install: Installs/reinstalls the debug package onto a running</echo> 
    <echo>    emulator or device.</echo> 
    <echo>    If the application was previously installed, the</echo> 
    <echo>    signatures must match.</echo> 
    <echo> uninstall: Uninstalls the application from a running emulator or</echo> 
    <echo>    device.</echo> 
</target> 

이 파일을 build.xml에 복사하면 작동합니다.

+2

실제로 작동합니다. 실제로 필요한 것은 tamberg

2

나는 같은 문제를 가지고 내가 한 모든 일식

Window->Preferences->Ant->Editor->Problems 

에 고토와 내가 비슷한 문제가

Ignore All Build File Problems. 
관련 문제