res/

2011-12-23 5 views
1

에 인식 할 수없는 디렉토리의 build.xml 오류 JNI를 사용하여 기존 C++ 응용 프로그램을 android로 이식하려고합니다. 그러나, AndroidManifest.xml을에서 build.xml 파일을 생성하고 그것으로 구축 시도 후, 나는 다음 (관련) 출력을 얻을 :res/

[aapt] Generating resource IDs... 
    [aapt] invalid resource directory name: /{Project Directory}/res/audio 
    [aapt] invalid resource directory name: /{Project Directory}/res/img 

BUILD FAILED 
/{Android SDK Dir}/tools/ant/build.xml:560: The following error occurred while executing this line: 
/{Android SDK Dir}/tools/ant/build.xml:589: null returned: 1 

을 이미 의해 "고해상도"라는 디렉토리에이 기존 된 디렉토리 우연의 일치, 자바에 의미 론적 의미가있는 것을 의미하지 않습니다. res에서 제거하면/괜찮습니다. 그래서 제 질문은 - 이것을 구성하는 가장 좋은 방법은 무엇입니까 (아니면 인식 할 수없는 디렉토리를 무시하도록 ant에 말합니까?). Res는 이미 .png .mp3 및 텍스트 파일이 포함 된 매우 큰 디렉토리 구조입니다.

답변

1

어떤 이유에서라도 문제가 해결되지 않으면 build.xml의 패키지 리소스를 오버라이드하고 aapt를 사용자 정의하고 res /에 대한 새 위치를 지정하여 발생할 수있는 문제를 처리 할 수있는 다양한 옵션을 지정할 수 있습니다. 연구 할 부분).

당신은 그 대상이 이미 무엇을위한 안드로이드 SDK/도구/개미/build.xml 파일을 검사 할 수 있지만, 기본적으로 당신은 당신의 자신의 build.xml에

<target name="-package-resources"> 
    <echo>Packaging resources</echo> 
    <aapt executable="${aapt}" 
     command="package" 
     verbose="${verbose}" 
     versioncode="${version.code}" 
     manifest="AndroidManifest.xml" 
     assets="${asset.absolute.dir}" 
     androidjar="${android.jar}" 
     apkfolder="${out.absolute.dir}" 
     resourcefilename="${resource.package.file.name}" 
     projectLibrariesResName="${project.libraries.res}" 
     projectLibrariesPackageName="${project.libraries.package}" 
     resourcefilter="${aapt.resource.filter}"> 

     <res path="${resource.absolute.dir}"/> 
    </aapt> 
</target> 

을 다음과에 사용자 정의에 붙여 단순히 것 너의 요구.

respath를 resource.absolute.dir에서 가져 오는 것에주의하십시오. 따라서 정말로 필요한 경우, ant.properties 또는 sdk 도구에있는 기본 특성 파일을 설정할 수 있습니다. 당신이 사용하고있는 build.xml을 검사하여 자신 만의 새로운 loadproperties 라인을 보거나 추가하십시오. IIRC, resource.absolute.dir은 resource.dir을 기준으로 설정되므로 방금 설정해야하는 속성 파일에서 각각을 시도해야 할 수도 있습니다.

resource.dir=new/path/to/res 
관련 문제