0

Ich habe eine Anwendung, die Analytik und Theme.AppCompat.Dialog verwendet, so, ich brauche Xamarin.Android.Support.v7.AppCompatProbleme beim Hinzufügen von Anzeigen. Inkompatibilität zwischen Android-Support v4 und v7?

Die App funktioniert ist.

Jetzt möchte ich Google-Anzeigen hinzufügen. Die "Paket nugget: Xamarin.GooglePlayServices.Ads" enthält Xamarin.Android.Support.v4 Ich habe ein anderes Testprojekt und es funktioniert.

Aber wenn ich das zu meinem realen Projekt hinzufüge, kann ich die App nicht bauen.

Ich habe diesen Fehler: "java.exe" mit Code verlassen 1. In der Ausgabe:

1>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2118,3): error MSB6006: "java.exe" exited with code 1. 
========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped ========== 

Ich las alles, was ich habe zu diesem Fehler im Forum gesehen verwandt, aber ich habe nicht behoben. Irgendein Rat?

Danke. enter image description here

+0

hallo @ephramd, ich habe das gleiche Problem als Sie. Kannst du es reparieren? –

Antwort

0

@ Fran_gg7 Ja, ich habe das echte Originalproblem und die Lösung gefunden.

Das Problem ist ProGuard. Wenn du ProGuard aus irgendeinem Grund aktiv hast, mag es das nicht. In meinem Fall, wenn ich ProGuard deaktiviert habe, funktioniert das Projekt perfekt. Aber ProGuard sollte durch Gewichtsreduzierung in der apk, Code-Verschleierung etc ...

1. auf Ihrem Android-Projekt aktiv sein Sie eine Datei erstellen müssen: proguard.txt

und schreiben diesen Code :

-keep class * extends java.util.ListResourceBundle { 
    protected java.lang.Object[][] getContents(); 
} 

# Keep SafeParcelable value, needed for reflection. This is required to support backwards 
# compatibility of some classes. 
-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable { 
    public static final *** NULL; 
} 

# Keep the names of classes/members we need for client functionality. 
-keep @interface com.google.android.gms.common.annotation.KeepName 
-keepnames @com.google.android.gms.common.annotation.KeepName class * 
-keepclassmembernames class * { 
    @com.google.android.gms.common.annotation.KeepName *; 
} 

# Needed for Parcelable/SafeParcelable Creators to not get stripped 
-keepnames class * implements android.os.Parcelable { 
    public static final ** CREATOR; 
} 

# Needed when building against pre-Marshmallow SDK. 
-dontwarn android.security.NetworkSecurityPolicy 

# Keep metadata about included modules. 
-keep public class com.google.android.gms.dynamite.descriptors.** { 
    public <fields>; 
} 

# Keep the implementation of the flags api for google-play-services-flags 

-keep public class com.google.android.gms.flags.impl.FlagProviderImpl { 
    public <fields>; public <methods>; 
} 
-keep class com.google.android.gms.** { *; } 
-dontwarn com.google.android.gms.** 
  1. In den Eigenschaften der neuen Build Action "ProguardConfiguration" Dateimarkierung.
Verwandte Themen