2017-01-09 6 views
2

私はVSTSとの継続的統合を使用してHockeyAppsと統合しようとしているXamarinフォームプロジェクトを持っています。 私のアプリはJava 1.8を使用してコンパイルされ、ProGuardを使ってandroid APKファイルを縮小します。 しかし、javaがアプリケーションをコンパイルしようとすると、インストールされたバージョンのproguardがJava 1.8と互換性がないことがわかります ... [android/app/ActivityTracker.class]クラスを処理できません。クラスのバージョン番号[52.0]、最大51.0、私の地元のVisual StudioのインストールでJava 1.7 ... 、私はVSTS - Xamarin ProguardバージョンとJDK 1.8の問題

誰がどのように知っている...それはXamarinは、最新の1つの5.xのインストールデフォルトのProGuardのバージョンを置き換えるfixed VSTSでそれをするには?

詳細なエラー:

_CompileToDalvikWithDx: 
    C:\Program Files\Java\jdk1.8.0_102\\bin\java.exe -jar C:\java\androidsdk\android-sdk\tools\proguard\lib\proguard.jar -include C:\java\androidsdk\android-sdk\tools\proguard\proguard-android.txt -include obj\Release\proguard\proguard_xamarin.cfg -include obj\Release\proguard\proguard_project_references.cfg -include obj\Release\proguard\proguard_project_primary.cfg -include proguard.cfg "-injars 'obj\Release\proguard\__proguard_input__.jar';'C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v7.0\mono.android.jar';'obj\Release\__library_projects__\FormsViewGroup\library_project_imports\formsviewgroup.jar';'obj\Release\__library_projects__\HockeySDK.AndroidBindings\library_project_imports\bin\classes.jar';'C:\Users\buildguest\AppData\Local\Xamarin\Xamarin.Android.Support.Animated.Vector.Drawable\23.3.0.0\embedded\classes.jar';'C:\Users\buildguest\AppData\Local\Xamarin\Xamarin.Android.Support.Design\23.3.0.0\embedded\classes.jar';'C:\Users\buildguest\AppData\Local\Xamarin\Xamarin.Android... 
    java.io.IOException: Can't read [C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v7.0\mono.android.jar] (Can't process class [android/app/ActivityTracker.class] (Unsupported class version number [52.0] (maximum 51.0, Java 1.7))) 
    at proguard.InputReader.readInput(InputReader.java:230) 
    at proguard.InputReader.readInput(InputReader.java:200) 
    at proguard.InputReader.readInput(InputReader.java:178) 
    at proguard.InputReader.execute(InputReader.java:78) 
    at proguard.ProGuard.readInput(ProGuard.java:196) 
    at proguard.ProGuard.execute(ProGuard.java:78) 
    at proguard.ProGuard.main(ProGuard.java:492) 
    Caused by: java.io.IOException: Can't process class [android/app/ActivityTracker.class] (Unsupported class version number [52.0] (maximum 51.0, Java 1.7)) 
    at proguard.io.ClassReader.read(ClassReader.java:112) 
    at proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87) 
    at proguard.io.JarReader.read(JarReader.java:65) 
    at proguard.io.DirectoryPump.readFiles(DirectoryPump.java:65) 
    at proguard.io.DirectoryPump.pumpDataEntries(DirectoryPump.java:53) 
    at proguard.InputReader.readInput(InputReader.java:226) 
    ... 6 more 
    Caused by: java.lang.UnsupportedOperationException: Unsupported class version number [52.0] (maximum 51.0, Java 1.7) 
    at proguard.classfile.util.ClassUtil.checkVersionNumbers(ClassUtil.java:140) 
    at proguard.classfile.io.ProgramClassReader.visitProgramClass(ProgramClassReader.java:88) 
    at proguard.classfile.ProgramClass.accept(ProgramClass.java:346) 
    at proguard.io.ClassReader.read(ClassReader.java:91) 
    ... 11 more 
    Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8 
C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2025,3): Error MSB6006: "java.exe" exited with code 1. 
+0

ホストされたビルドエージェントを使用していますか? –

+0

はい、問題に追加したエラーメッセージの詳細は、system.debug変数をtrueに設定すると表示されますが、そうでないとエラーの説明はそれほど難しくありません。 – Boanerge

+0

Visual Studio用のXamarinを更新しましたproguardが私のPCで再び失敗し始めたとき、xamarinがproguardを新しいバージョン(〜5.2)から古いバージョン(4.7)に更新したことを確認しました。 – Boanerge

答えて

1

私は、ユーザーがホストにインストールされたソフトウェアを更新する権限を持っていないので、ホステッドビルドエージェントを使用して問題の任意の回避策は存在しないことを恐れています機械。

deploy your own build agentする必要がありますし、手動でファイルを置き換えます。

1

理由は、それは互換性がないというJDK 1.7を使用していることです。あなたはステップを構築XamarinのJDKのバージョンを指定することができます。

enter image description here

+0

これは私がやったことです。私がJDK 7を離れると、プロジェクトはproguardのコンパイルのポイントに達する前に失敗し、JDK 8を選択すると、Proguardのコンパイルに失敗します。それは私のコンピュータで同じでしたが、私のコンピュータにはxamarinがインストールするアンドロイドSDKを置き換えることができますが、VSTSではできません。 – Boanerge

+0

@Boanerge JDK 8を使用している場合でも同じエラーがスローされますか?詳細エラーメッセージをここに入力してください。 (元の投稿のエラーメッセージはあまりにも単純です) –

+0

私はプロジェクトにいくつかの変更を加えました。私はそれをロールバックさせてエラーを再度修正することができます... – Boanerge

関連する問題