2016-11-21 5 views
0

Ich versuche, eine ältere Xamarin.Android Codebasis zu aktualisieren. Ich habe ein Pre-API 21-Ziel verwendet und versuche jetzt, auf API 24 (Android Nuget) zu aktualisieren. Ich denke, ich habe die Mehrheit der Kompatibilitätsprobleme gelöst, aber einer beunruhigt mich. Wenn ich einen Build mache, erhalte ich den folgenden Fehler.Xamarin.Android 7.0 Build-Fehler

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets: Error: Tool exited with code: 10. Output: Error: Can't read [/Library/Frameworks/Xamarin.Android.framework/Versions/7.0.2-37/lib/xbuild-frameworks/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))) 

Nach einigem Google tun Suche fand ich, dass die Mehrheit der Menschen, die dieses Problem haben werden mit Java 1.8, wie ich Scheinbar sind, wird die gebündelte Version von ProGuard nicht Java 1.8-Byte-Code unterstützen. Ich habe die neueste Version von ProGuard (5.3.1) manuell über die gepackte Version in dem folgenden Ordner installiert.

~/Library/Android/sdk/tools/proguard 

Leider habe ich immer noch den gleichen Fehler. Ich verwende auch die neueste Version der folgenden Pakete (siehe Screenshot).

enter image description here

Hat jemand eine Idee, wie man dieses Build Problem zu beheben?

Antwort

0

Für diese spezielle Fehlermeldung hatte ich das Problem, dass ich ProGuard an der falschen Stelle installiert habe. Ich habe ursprünglich ProGuard in ~/Library/Android/sdk/tools installiert, musste aber stattdessen in ~/Library/Developer/Xamarin/android-sdk-macosx/ sein. Dadurch wurde dieser Buildfehler behoben.

0
  1. Laden Sie sich einfach die neueste Version von proguard aus dem dieser link;

  2. Entpacken Sie den Inhalt in einen Ordner mit dem Namen proguard;

  3. Ersetzen Sie den Ordner ~/Library/Developer/Xamarin/android-sdk-macosx/tools/proguard durch den Ordner aus dem vorherigen Schritt.