2013-10-09 52 views
0

整合Facebook的SDK資源的錯誤我使用Visual Studio編譯NDK部分和Ant腳本編譯Java部分。在NDK應用

這是我的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:\開發\工作區\車廠\來源\ GameApplication \ COM包含我的Java代碼和Facebook SDK源代碼。此是我天真的嘗試包括facebook sdk的庫項目,因爲我不知道如何在ant build中正確包含一個庫項目。

我甚至不知道這是否可能與問題。

facebook.jar是都與Android的支持,v4.jar

編譯部分facebookjar.dir似乎進展順利,據我能理解,因爲我很新的Android SDK中,Java和螞蟻。你可以看到日誌

編譯結果對資源的包裝,我得到了許多錯誤,從AAPT

我有很多象這樣的錯誤:

error : 9-patch image malformed.No marked region found along edge.Found along top edge. 

和馬NY其他這樣

..\..\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

只是爲了說清楚他們不是我的,而是來自facebook sdk。 – deadlineproof

回答

1

到底問題已經解決了轉向更爲標準的Android部署工作流程。 在eclipse中爲java部分製作一個項目並使用標準的ant腳本android sdk附帶。

我也適當地包括Facebook的SDK作爲庫項目未合併源(我還沒有爲它的其他工作流,但它並沒有幫助)。

我仍然不理解這兩個版本之間的差異,因爲它們都使用相同的aapt並且可能具有相同的參數,但是其中一個獲得錯誤而另一個作爲魅力。