2016-09-23 87 views
3

如何從命令行構建APK文件?我試過如何從命令行構建android apk?

MSBuild myProject.dproj /p:Config=Release /p:Platform=Android 

但是沒有生成APK文件,只有.so文件。

+2

我發現那些downvotes相當令人失望。這對我來說是一個完全合理的問題。文檔無法正確通知的一個。 事實上什麼迄今已嘗試和取得的成果被列入..... – blong

+0

@blong投票似乎沒什麼問題。提問者的答案只是代碼,而且質量相當低。你的回答非常好。我不明白的是提問者的回答如何獲得投票。這是真正的神祕和恥辱。質量是至關重要的。 –

+0

那麼,在它回覆到0之前,問題是坐在-2,這似乎特別沒有根據。所以我把它推回到0,就像其他人一樣。 我不是指投票反對任何答案。 – blong

回答

4

一些實驗表明,行動提出的各項課程的有以下幾個方面發揮作用爲更完整的圖片。

當您創建一個新的Delphi多目標項目(我們稱之爲Foo)時,您將創建一個兼容MSBuild的文件:Foo.dproj Delphi項目文件。在Android(這個問題中的平臺)的情況下,這足以構建目標libFoo.so庫文件,該文件最終將成爲部署的.apk文件的一部分,但還不足以製作.apk文件。

你可以建立.so文件,它包含了ARM機器代碼,使用命令行是這樣的:

msbuild Foo.dproj /property:Config=Debug /property:Platform=Android /target:Build 

或更加簡潔的版本:

msbuild Foo.dproj /p:Config=Debug /p:Platform=Android /t:Build 

the documentation你可以使用部署管理器的部署按鈕來創建額外的MSBuild文件,或者確實只需選擇 項目, 部署libFoo.so菜單項。此部署的第一步是創建一個Foo.deployproj文件,這是另一個MSBuild兼容文件。

隨着Foo.deployproj文件目前這款下面一行將採取libFoo.so文件和其他任何部署所需,並使用這些建立起來的apk文件Android應用程序包文件:

msbuild Foo.dproj /p:Config=Debug /p:Platform=Android /t:Deploy 

部署目標將失敗,如果所需的文件,如libFoo.so不存在,通過以前運行MSBuild使用內部生成 MSBuild目標:S(431,5):錯誤:必需的本地文件「Android \調試\ libFoo.so「未找到。部署失敗錯誤MSB4057:「部署」不存在於該項目的目標

此外,如果你沒有爲你的項目生成一個Foo.deployproj文件部署目標失敗。

也就是說,如果你有Foo.deployproj出示你可以建立在一個部署愛上像飛撲:

msbuild Foo.dproj /p:Config=Debug /p:Platform=Android /t:Build;Deploy 

當然要避免編譯沒有改變的文件,這也許是更好:

msbuild Foo.dproj /p:Config=Debug /p:Platform=Android /t:Make;Deploy 

,該文件沒有提到有關部署目標什麼的其實是有點混亂。有可能認爲它意味着你對Foo.deployproj文件運行MSBuild,但是這不會帶來任何好處。看起來文檔已過時或明顯錯誤。

+0

感謝blong,這是一個完美的答案:) – loki

+0

^#{@#{^ starckoverflow禁止我這樣做:(它看起來像有人把-1我答案現在我可是從計算器禁止(我你的前寫的),我可以發表評論:( – loki

+0

我不明白爲什麼人們把-1我的問題,和1的產生,現在我可是從計算器黑名單我的反應。現在的問題是有用的,以及標記/ keyworded,這樣的人誰都會有同樣的問題,可以很容易地找到它,問題點到文檔中的錯誤......無所謂只是說 – loki

0

我發現:MSBuild的Project1.dproj/P:配置=調試/ P:平臺=的Android /噸:部署:)

+0

這是否真的回答你問的問題?你能解釋爲了未來的讀者爲什麼這個作品? –

+0

肯定,但我認爲金髮做的已經非常好:) – loki