我正在使用visual studio编译ndk part和ant脚本来编译java部分。
这是我的build.xml
<project name="ProjectTemplate" >
<property name="androidjar.dir" value="e:\android\sdk\platforms\android-10"/>
<property name="annotationjar.dir" value="e:\android\sdk\tools\support"/>
<property name="facebookjar.dir" value="D:\Dev\Workspace\Depot\Source\GameApplication\lib"/>
<property name="build.dir" value="D:\Dev\Workspace\Depot\Source\GameApplication\classes"/>
<property name="src.dir" value="D:\Dev\Workspace\Depot\Source\GameApplication\com"/>
<path id="master-classpath">
<fileset dir="${androidjar.dir}">
<include name="android.jar"/>
</fileset>
<fileset dir="${facebookjar.dir}">
<include name="*.jar"/>
</fileset>
<fileset dir="${annotationjar.dir}">
<include name="annotations.jar"/>
</fileset>
<pathelement path="${build.dir}"/>
</path>
<target name="compile">
<mkdir dir="${build.dir}"/>
<javac destdir="${build.dir}">
<src path="${src.dir}"/>
<classpath refid="master-classpath"/>
</javac>
</target>
D:\ Dev \ Workspace \ Depot \ Source \ GameApplication \ com包含我的java代码和facebook sdk源代码。这是我天真尝试包含facebook sdk的库项目,因为我不知道如何正确包含在ant build中的一个图书馆项目。
我甚至不知道它是否与问题有关。
facebook.jar在facebookjar.dir中都有android-support-v4.jar
编译部分似乎很顺利,因为我对android sdk,java和ant非常新。你可以在日志中看到编译结果
在资源打包上,我从aapt
中得到很多错误我有很多这样的错误:
error : 9-patch image malformed.No marked region found along edge.Found along top edge.
和许多其他像这样的
..\..\Data\Common\Android\layout\com_facebook_friendpickerfragment.xml:25: error: Error: No resource found that matches the given name (at 'divider' with value '@drawable/com_facebook_list_divider').
其中未找到的资源是之前导致错误的9补丁图像。
即使这些图像导致格式错误的facebook sdk,其他每个用户都会正常使用它们,并且我在使用我的android工具链测试的facebook样本中正确包装。
full log listing查看该应用的所有编译日志。
答案 0 :(得分:1)
最终问题已经解决,恢复到更标准的Android部署工作流程。 在eclipse中为java部分创建一个项目并使用标准的ant脚本android sdk来。
我还正确地将facebook sdk作为一个不合并源代码的库项目包括在内(我也为其他工作流程做了这一点,但它没有帮助)。
我仍然不理解两个构建之间的差异,因为它们都使用相同的aapt并且可能使用相同的参数,但是一个得到错误,另一个就像魅力一样。