1

私は 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

しかし、エラーが続き、アプリを認証するために作成したバッチ ファイルを実行することなく、SDK デバイス用の Delphi でアプリを直接実行することはできません。

ZipAllign.bat ファイルは完全ですか、それともいくつかのコマンド ラインがありませんか?

4

2 に答える 2

0

この問題は、キーストア ファイルが別のマシンからコピーされた場合に発生する可能性があります。このような場合は、最初に apk をアンインストールするか、新しいマシンでキーストア ファイルを再作成してみてください。

于 2014-08-31T11:50:04.320 に答える
0

[実行|パラメータ...] をクリックします。

[パラメーター] ボックスに入れ-cleaninstallます。

デバイスに APK の古いバージョン (XE5 など) がある場合は、それをアンインストールします。

リリース バージョンをコンパイルしている場合は、プロジェクト|オプション...|プロビジョニングで証明書が定義されていることを確認してください。

于 2014-07-06T15:36:02.683 に答える