我有 Embarcadero XE6,但只使用 Delphi XE6。当我运行我的应用程序 Delphi 项目时,它可以正确编译,但是当 Delphi 尝试直接在设备 SDK ADV 或物理设备上安装此应用程序时,会出现以下错误:
无法创建进程:无法安装“”。失败 [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]
所以我创建了一个批处理文件,让我的应用程序保持证书,只有这样才能在移动设备上手动安装。
批处理文件包含:
cd\
D:
cd Program Files
cd Java
cd jdk1.7.0_25
cd bin
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore -storepass android D:\DelphiPrograms\App01\Android\Debug\MyApp\bin\MyApp.apk androiddebugkey
cd\
D:
cd Users
cd Public
cd Documents
cd Embarcadero
cd Studio
cd 14.0
cd PlatformSDKs
cd adt-bundle-windows-x86-20131030
cd sdk
cd platform-tools
adb -s emulator-5554 install -r D:\DelphiPrograms\App01\Android\Debug\MyApp\bin\MyApp.apk
pause
但是每当更改应用程序时,我都必须运行这个批处理文件,我发现不需要这个。Delphi 会自动将应用程序安装到设备中。
注意:当我安装Embarcadero XE6时,ZipAlign.exe文件没有退出,而zipalign.bat是空的,所以我从网上复制了ZipAlign.exe,也从网上复制了批处理文件命令。
我的文件 ZipAllign.bat 包含以下命令行:
@echo off
REM Batch file to recursively zip align *.apk files in a directory
REM and its sub-directories. This is significantly easier and faster
REM than manually zip aligning them.
@echo Zip aligning now...
for /R %%X in (*.apk) do zipalign 4 "%%X" "%%~dpX%%~nX.new"
@echo Replacing non-aligned files with zip aligned files...
for /R %%X in (*.new) do move /Y "%%X" "%%~dpX%%~nX.apk"
@echo Zip aligning done, press any key to exit
pause
但是错误仍然存在,并且无法直接在Delphi中为SDK设备运行该应用程序,而无需运行我为我的应用程序创建的批处理文件以进行认证。
ZipAllign.bat 文件是否完整或缺少某些命令行?