0

我正在使用 Visual Studio 编译 ndk 部分和 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 的库项目,因为我不知道如何正确包含库项目在蚂蚁构建中。

我什至不知道它是否与问题有关。

facebook.jar 与 android-support-v4.jar 都在 facebookjar.dir 中

据我所知,编译部分似乎进展顺利,因为我对 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 样本中正确打包。

完整的日志列表以查看应用程序的所有编译日志。

4

1 回答 1

1

最后,问题已经解决,恢复为更标准的 Android 部署工作流程。在eclipse中为java部分制作一个项目并使用android sdk附带的标准ant脚本。

我还正确地将 facebook sdk 包含为一个不合并源的库项目(我也为其他工作流程做了它,但它没有帮助)。

我仍然不明白这两个构建之间的差异,因为它们都使用相同的 aapt 并且可能具有相同的参数,但是一个得到错误,另一个像魅力一样工作。

于 2013-10-10T11:59:28.420 回答