そのため、いくつかのライブラリを含むXamarin.Androidプロジェクトがあります。ビルドしようとすると、「Java.exe」がコード2で終了したというエラーが表示されます。
数時間のGoogleの調査の後、Multidexを有効にできることがわかりました。 Jon Doublasのブログエントリによると、上記の手順を実行しました。 http://www.jon-douglas.com/2016/09/05/xamarin-Android-multidex/
ブログのエントリによると、Android API Level> 21はMultidex自体を処理します。まあ、私の経験ではそうではありません。情報。記事の手順は役に立たないXamarin.AndroidはMultidexをサポートしていないようです。
Multidexを自分で処理しなければならないようですが、動作する解決策は見つかりませんでした。誰かが機能する解決策を見つけましたか?
Xamarin 4.6とVisual Studio 2017を使用しています。
私のプロジェクトで約20時間検索した後、答えが見つかりました。そこで、コード2で終了した問題「Java.exe」を解決する手順を以下に示します。
1)リンクの説明に従って、MainDexClasses.batを変更します。
http://www.jon-douglas.com/2016/09/05/xamarin-Android-multidex/
2)AndroidアプリケーションでMultidex
オプションを有効にしていることを確認してください!.csprj
ファイルがMultidex
にtrue
に設定されている場合(私の場合は、Multidex
を有効にしても、そうではありませんでした)
3)AndroidManifest
ファイルに次の部分を追加します
<application Android:name="Android.support.multidex.MultiDexApplication"></application>
これにより、指定されたMultidex-Optionを実際に使用するようにAndroidプロジェクトに通知されます。
クリーンビルドを行った後、アプリケーションをそのまま実行できました。
この質問と@ Daniel_97sの回答を見つけた後、MainDexClasses.batを変更せずにプロジェクトにmultidexを追加するだけでこのエラーを解決できました。
MultiDexApplication
をAndroidマニフェストに追加:
<application Android:name="Android.support.multidex.MultiDexApplication"></application>
注:このエラーコード2は、Visual Studio for MacとWindowsで同じアプリが正常にビルドされていました。 (なぜ?)
[オプション]> [ビルド]> [Androidビルドに移動し、解決するMulti-Dexを有効にする]に移動するだけです
.csproj
ファイルにはKeyStoreのエントリがありましたが、プロジェクトは右クリックしてプロパティを調べても、新しい場所を示していると考えられました。
.csproj内で<AndroidSigningKeyStore>
のすべてのインスタンスを探し、それに応じて更新します。
私はこの問題に長い間苦労してきました。署名のエラーの原因を見つけました-会社のTFSからプロジェクトリポジトリを複製したため、Android csprojファイルにはキーストアの設定と場所のエントリがありました。キーストアと場所がありませんでした。ドライブは無効でした。VisualStudioはデプロイ中にアプリに署名できず、何らかの種類のFileNotFoundExceptionの代わりにJavaがコード2で終了しました。
tl; dr:Androidプロジェクトのプロパティに移動し、パッケージに署名して「apkファイルに署名...」のチェックを外します(csproj <AndroidKeyStore>true</AndroidKeyStore>
to false)そして出来上がり、ソリューションを実行できるようになりました。
私のために働いたキーストアのパスを再割り当てします
==編集01 ==
Android Project> Android Package Signing
キーストアのパスで、理由はわかりませんが、明らかにパスが間違っていたため、同じパスから.keystoreファイルを再度選択すると、「コード2で終了」というエラーがなくなり、リリース用にアーカイブできました
次のキーストアの詳細を@Klemikazeとして使用して、.APKファイルへの署名を無効にします
私の場合、キーストアの詳細の1つが間違っていました。保存後->クリーニング->ビルドプロセスが機能しました。
VS MacからVS Windowsに切り替えるときにこのエラーが発生しました。
ここで、トピック「VS MacからVS Windowsへの切り替え」で、コード2で「Java.exe」が終了しました
この問題は、Android.csprojとキーストアパスから発生していました。
変更した場合でも、Macパスに設定されました
VSWindows AndroidProject =>プロパティ=>サインイン
<AndroidKeyStore>True</AndroidKeyStore>
<AndroidSigningKeyStore>YourMacPath/Alias.keystore</AndroidSigningKeyStore>
<AndroidSigningStorePass>Password</AndroidSigningStorePass>
<AndroidSigningKeyAlias>Alias</AndroidSigningKeyAlias>
<AndroidSigningKeyPass>AliasPassword</AndroidSigningKeyPass>
デバッグおよびリリースパート。
その後、VS Windowsでそれらを編集できます。
私が誰かを助けたことを願っています。じゃあ
古いバージョンを使用している場合は、Visual Studioを最新バージョンに更新してください。
解決策がないと思う場合は、Multidex
を有効にしてください
キーストアをリセットするか、キーをfalseに変更してtrueを試してください。確認のみ。ただし、trueに設定する必要があることを覚えておいてください。