lok*_*oki 5 delphi msbuild android
如何从命令行构建APK文件?我试过了
MSBuild myProject.dproj /p:Config=Release /p:Platform=Android
Run Code Online (Sandbox Code Playgroud)
但没有生成APK文件,只有.so文件.
一些实验表明,各种拟议行动方案的以下方面发挥作用,以获得更完整的图景.
当您创建一个新的Delphi多目标项目(让我们称之为Foo)时,您创建了一个与MSBuild兼容的文件:Foo.dproj Delphi项目文件.对于Android(此问题中的平台),这足以构建目标libFoo.so库文件,该文件最终将成为已部署的.apk文件的一部分,但还不足以生成.apk文件.
您可以使用如下命令行构建包含ARM机器代码的.so文件:
msbuild Foo.dproj /property:Config=Debug /property:Platform=Android /target:Build
Run Code Online (Sandbox Code Playgroud)
或者这个更简洁的版本:
msbuild Foo.dproj /p:Config=Debug /p:Platform=Android /t:Build
Run Code Online (Sandbox Code Playgroud)
根据文档,您可以使用Deployment Manager的Deploy按钮创建其他MSBuild文件,或者实际上只需选择Project,Deploy libFoo.so菜单项.此部署的第一步是创建一个Foo.deployproj文件,该文件是另一个与MSBuild兼容的文件.
使用Foo.deployproj文件,以下行将获取libFoo.so文件以及部署所需的任何其他内容,并使用这些文件构建.apk Android应用程序包文件:
msbuild Foo.dproj /p:Config=Debug /p:Platform=Android /t:Deploy
Run Code Online (Sandbox Code Playgroud)
在部署如果所需的文件,如libFoo.so不存在目标会失败,通过以前使用的MSBuild运行说,建造或制作的MSBuild目标:S(431,5):错误:所需的本地文件"的Android \调试\ libfoo的.所以"没找到.部署失败.
此外,如果您没有为项目生成Foo.deployproj文件,则Deploy目标将失败:错误MSB4057:项目中不存在目标"Deploy".
也就是说,如果你有Foo.deployproj,你可以一举建立和部署,例如:
msbuild Foo.dproj /p:Config=Debug /p:Platform=Android /t:Build;Deploy
Run Code Online (Sandbox Code Playgroud)
当然为了避免编译没有改变的文件,这可能更好:
msbuild Foo.dproj /p:Config=Debug /p:Platform=Android /t:Make;Deploy
Run Code Online (Sandbox Code Playgroud)
文档没有提到任何有关Deploy目标的事实有点令人困惑.有可能认为它暗示你对Foo.deployproj文件运行MSBuild,但这并没有带来任何欢乐.文档似乎已过时或完全错误.
| 归档时间: |
|
| 查看次数: |
757 次 |
| 最近记录: |