2011. 7. 27. 14:19
Eclipse 에서 Android Library 로 다른 프로젝트 추가해서 사용할 경우
Eclipse 에서 생성한 R.java 와 unity 에서 생성한 R.java 의 id 들이 틀려서 리소스들이 꼬인다..
이럴땐 http://limchaeng.tistory.com/24 에서 merge 한 resource 들을 가지고
Ant 에서 수동으로 R.java(패키지별로) 만들고 그걸 이용해서 Ant 에서 compile 한후 jar 로 묶고
unity 에서 사용하면 된다.
*R.java 만든는 Ant code
<property name="aapt" location="${sdk.dir}/platforms/${target}/tools/aapt.exe" />
<target name="build-aapt" depends="copy-resource">
Eclipse 에서 생성한 R.java 와 unity 에서 생성한 R.java 의 id 들이 틀려서 리소스들이 꼬인다..
이럴땐 http://limchaeng.tistory.com/24 에서 merge 한 resource 들을 가지고
Ant 에서 수동으로 R.java(패키지별로) 만들고 그걸 이용해서 Ant 에서 compile 한후 jar 로 묶고
unity 에서 사용하면 된다.
*R.java 만든는 Ant code
<property name="aapt" location="${sdk.dir}/platforms/${target}/tools/aapt.exe" />
<target name="build-aapt" depends="copy-resource">
<exec executable="${aapt}" failonerror="true">
<arg value="package" />
<arg value="-m" />
<arg value="-J" />
<arg value="${output.gen.absolute.dir}" />
<arg value="-M" />
<arg value="AndroidManifest.xml" />
<arg value="-S" />
<arg value="${unity3dresource.absolute.dir}" />
<arg value="-I" />
<arg value="${android-jar}" />
</exec>
</target>
*compile code
<target name="build-class" depends="build-aapt" >
<echo>Build Classes</echo>
<javac target="1.6" extdirs=""
destdir="${output.classes.absolute.dir}"
bootclasspathref="android.target.classpath"
includeantruntime="false">
<src path="${output.gen.absolute.dir}" />
<src path="${source.absolute.dir}" />
<!-- 링크된 라이브러리들의 소스도 컴파일해준다. -->
<src path="${android.library.reference.1}/src" />
<src path="${android.library.reference.2}/src" />
<src path="${android.library.reference.3}/src" />
<classpath>
<fileset dir="${external.libs.absolute.dir}" includes="*.jar" />
<fileset dir="${twitter.libs.absolute.dir}" includes="*.jar" />
<!-- ************************************************** -->
<!-- 여기에 외부 라이브러리들을 넣어준다. -->
<fileset dir="${unity3dlibrary.absolute.dir}" includes="*.jar" />
<!-- ************************************************** -->
</classpath>
</javac>
</target>
<arg value="package" />
<arg value="-m" />
<arg value="-J" />
<arg value="${output.gen.absolute.dir}" />
<arg value="-M" />
<arg value="AndroidManifest.xml" />
<arg value="-S" />
<arg value="${unity3dresource.absolute.dir}" />
<arg value="-I" />
<arg value="${android-jar}" />
</exec>
</target>
*compile code
<target name="build-class" depends="build-aapt" >
<echo>Build Classes</echo>
<javac target="1.6" extdirs=""
destdir="${output.classes.absolute.dir}"
bootclasspathref="android.target.classpath"
includeantruntime="false">
<src path="${output.gen.absolute.dir}" />
<src path="${source.absolute.dir}" />
<!-- 링크된 라이브러리들의 소스도 컴파일해준다. -->
<src path="${android.library.reference.1}/src" />
<src path="${android.library.reference.2}/src" />
<src path="${android.library.reference.3}/src" />
<classpath>
<fileset dir="${external.libs.absolute.dir}" includes="*.jar" />
<fileset dir="${twitter.libs.absolute.dir}" includes="*.jar" />
<!-- ************************************************** -->
<!-- 여기에 외부 라이브러리들을 넣어준다. -->
<fileset dir="${unity3dlibrary.absolute.dir}" includes="*.jar" />
<!-- ************************************************** -->
</classpath>
</javac>
</target>
'Dev > Android' 카테고리의 다른 글
Unity3d Android Plugin Guide - UnityPlayer 상속 받아 사용하기. (0) | 2011.07.19 |
---|---|
Unity3d Android Plugin Guide - Resource Merge (5) | 2011.07.19 |
Unity3d Android Plugin Guide - Main Activity 변경하기. (0) | 2011.07.19 |