2016-05-02 2 views
6

Ich möchte Proguard auf meinem Projekt verwenden, jedoch erhalte ich den java.exe-Fehler, wenn ich versuche zu bauen.Warum wird mein Xamarin.Android-Projekt nicht mit Proguard erstellt: "java.exe" mit Code 1 beendet

"java.exe" exited with code 1. 

Ich habe versucht, die Heap-Größe zu erhöhen und ein proguard.cfg file as outlined here, zu keinem Erfolg zu schaffen.

Ich kann das Projekt bauen, wenn ich Proguard abstelle, also bin ich zuversichtlich, dass es das Problem ist.

Irgendwelche Hilfe?

EDIT: Hinzufügen der Ausgabe, die relevant aussieht. Ich sehe eine Ausnahme und viele Warnungen, aber ich bin mir nicht sicher, wie ich damit anfangen könnte.

5>Using "Proguard" task from assembly "C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Build.Tasks.dll". 
5>Task "Proguard" (TaskId:297) 
5> Task Parameter:ProguardJarPath=C:\Users\owner\AppData\Local\Android\android-sdk\tools\proguard\lib\proguard.jar (TaskId:297) 
5> Task Parameter:JavaToolPath=C:\Program Files (x86)\Java\jdk1.7.0_71\\bin (TaskId:297) 
5> Task Parameter:JavaPlatformJarPath=C:\Users\owner\AppData\Local\Android\android-sdk\platforms\android-23\android.jar (TaskId:297) 
5> Task Parameter:MonoPlatformJarPath=C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v6.0\mono.android.jar (TaskId:297) 
5> Task Parameter:ClassesOutputDirectory=obj\Release\android\bin\classes (TaskId:297) 
5> Task Parameter:ProguardCommonXamarinConfiguration=obj\Release\proguard\proguard_xamarin.cfg (TaskId:297) 
5> Task Parameter:ProguardGeneratedReferenceConfiguration=obj\Release\proguard\proguard_project_references.cfg (TaskId:297) 
5> Task Parameter:ProguardGeneratedApplicationConfiguration=obj\Release\proguard\proguard_project_primary.cfg (TaskId:297) 
5> Task Parameter:ProguardConfigurationFiles= 
5>   {sdk.dir}tools\proguard\proguard-android.txt; 
5>   {intermediate.common.xamarin}; 
5>   {intermediate.references}; 
5>   {intermediate.application}; 
5>   proguard.cfg; 
5>  (TaskId:297) 
5> Task Parameter: 
5>  LibraryProjectJars= 
5>   obj\Release\__library_projects__\AndroidTranscoder\library_project_imports\AndroidTranscode.jar 
5>   obj\Release\__library_projects__\FormsViewGroup\library_project_imports\formsviewgroup.jar 
5>   obj\Release\__library_projects__\OkHttp\library_project_imports\okhttp-2.3.0-jar-with-dependencies.jar (TaskId:297) 
5> Task Parameter: 
5>  AdditionalJavaLibraryReferences= 
5>   C:\Users\owner\AppData\Local\Xamarin\Android.Support.v4\21.0.3\embedded\classes.jar 
5>   C:\Users\owner\AppData\Local\Xamarin\Android.Support.v4\21.0.3\embedded\libs\internal_impl-21.0.3.jar (TaskId:297) 
5> Task Parameter:ProguardJarInput=obj\Release\proguard\__proguard_input__.jar (TaskId:297) 
5> Task Parameter:ProguardJarOutput=obj\Release\proguard\__proguard_output__.jar (TaskId:297) 
5> Task Parameter:DumpOutput=obj\Release\proguard\dump.txt (TaskId:297) 
5> Task Parameter:PrintSeedsOutput=obj\Release\proguard\seeds.txt (TaskId:297) 
5> Task Parameter:PrintUsageOutput=obj\Release\proguard\usage.txt (TaskId:297) 
5> Task Parameter:PrintMappingOutput=obj\Release\proguard\mapping.txt (TaskId:297) 
5> Proguard (TaskId:297) 
5> JavaPlatformJarPath: C:\Users\owner\AppData\Local\Android\android-sdk\platforms\android-23\android.jar (TaskId:297) 
5> MonoPlatformJarPath: C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v6.0\mono.android.jar (TaskId:297) 
5> ClassesOutputDirectory: obj\Release\android\bin\classes (TaskId:297) 
5> ProguardGeneratedApplicationConfiguration: obj\Release\proguard\proguard_project_primary.cfg (TaskId:297) 
5> ProguardJarInput: obj\Release\proguard\__proguard_input__.jar (TaskId:297) 
5> ProguardJarOutput: obj\Release\proguard\__proguard_output__.jar (TaskId:297) 
5> ProguardConfigurationFiles: (TaskId:297) 
5>  
5>   {sdk.dir}tools\proguard\proguard-android.txt; 
5>   {intermediate.common.xamarin}; 
5>   {intermediate.references}; 
5>   {intermediate.application}; 
5>   proguard.cfg; 
5>  (TaskId:297) 
5> JavaSourceFiles: (TaskId:297) 
5> JavaLibraries: (TaskId:297) 
5> ExternalJavaLibraries: (TaskId:297) 
5> DoNotPackageJavaLibraries: (TaskId:297) 
5> LibraryProjectJars: (TaskId:297) 
5>  obj\Release\__library_projects__\AndroidTranscoder\library_project_imports\AndroidTranscode.jar (TaskId:297) 
5>  obj\Release\__library_projects__\FormsViewGroup\library_project_imports\formsviewgroup.jar (TaskId:297) 
5>  obj\Release\__library_projects__\OkHttp\library_project_imports\okhttp-2.3.0-jar-with-dependencies.jar (TaskId:297) 
5> UseProguard: False (TaskId:297) 
5> EnableLogging: False (TaskId:297) 
5> DumpOutput: obj\Release\proguard\dump.txt (TaskId:297) 
5> PrintSeedsOutput: obj\Release\proguard\seeds.txt (TaskId:297) 
5> PrintMappingOutput: obj\Release\proguard\mapping.txt (TaskId:297) 
5> Environment Variables passed to tool: (TaskId:297) 
5> java_tool_options= -Dfile.encoding=UTF8 (TaskId:297) 
5> proguard_home=C:\Users\owner\AppData\Local\Android\android-sdk\tools\proguard (TaskId:297) 
5> C:\Program Files (x86)\Java\jdk1.7.0_71\\bin\java.exe -jar C:\Users\owner\AppData\Local\Android\android-sdk\tools\proguard\lib\proguard.jar -include C:\Users\owner\AppData\Local\Android\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\v6.0\mono.android.jar';'obj\Release\__library_projects__\AndroidTranscoder\library_project_imports\AndroidTranscode.jar';'obj\Release\__library_projects__\FormsViewGroup\library_project_imports\formsviewgroup.jar';'obj\Release\__library_projects__\OkHttp\library_project_imports\okhttp-2.3.0-jar-with-dependencies.jar';'C:\Users\owner\AppData\Local\Xamarin\Android.Support.v4\21.0.3\embedded\classes.jar';'C:\Users\owner\AppData\Local\Xamarin\Android.Support.v4\21.0.3\embedded\libs\internal_impl-21.0.3.jar'" "-libraryjars 'C:\Users\owner\AppData\Local\Android\android-sdk\platforms\android-23\android.jar'" -outjars "obj\Release\proguard\__proguard_output__.jar" (TaskId:297) 
5> ProGuard, version 4.7 (TaskId:297) 
5> Reading input... (TaskId:297) 
5> Reading program jar [C:\Workspace\Mobile\Blert\Source\Blert\Blert.Droid\obj\Release\proguard\__proguard_input__.jar] (TaskId:297) 
5> Reading program jar [C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v6.0\mono.android.jar] (TaskId:297) 
5> Reading program jar [C:\Workspace\Mobile\Blert\Source\Blert\Blert.Droid\obj\Release\__library_projects__\AndroidTranscoder\library_project_imports\AndroidTranscode.jar] (TaskId:297) 
5> Reading program jar [C:\Workspace\Mobile\Blert\Source\Blert\Blert.Droid\obj\Release\__library_projects__\FormsViewGroup\library_project_imports\formsviewgroup.jar] (TaskId:297) 
5> Reading program jar [C:\Workspace\Mobile\Blert\Source\Blert\Blert.Droid\obj\Release\__library_projects__\OkHttp\library_project_imports\okhttp-2.3.0-jar-with-dependencies.jar] (TaskId:297) 
5> Reading program jar [C:\Users\owner\AppData\Local\Xamarin\Android.Support.v4\21.0.3\embedded\classes.jar] (TaskId:297) 
5> Reading program jar [C:\Users\owner\AppData\Local\Xamarin\Android.Support.v4\21.0.3\embedded\libs\internal_impl-21.0.3.jar] (TaskId:297) 
5> Reading library jar [C:\Users\owner\AppData\Local\Android\android-sdk\platforms\android-23\android.jar] (TaskId:297) 
5> Initializing... (TaskId:297) 
5> Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ViewPager$OnPageChangeListener' (TaskId:297) 
5> Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.view.ViewPager_OnPageChangeListenerImplementor' (TaskId:297) 
5> Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.view.ViewPager$PageTransformer' (TaskId:297) 
5> Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.DrawerLayout$DrawerListener' (TaskId:297) 
5> Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.widget.DrawerLayout_DrawerListenerImplementor' (TaskId:297) 
5> Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.DrawerLayoutImpl' (TaskId:297) 
5> Note: the configuration doesn't specify which class members to keep for class 'android.support.v4.widget.SwipeRefreshLayout$OnRefreshListener' (TaskId:297) 
5> Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.v4.widget.SwipeRefreshLayout_OnRefreshListenerImplementor' (TaskId:297) 
5>PROGUARD : warning : net.ypresto.androidtranscoder.engine.MediaFormatValidator: can't find referenced class org.jcodec.codecs.h264.H264Utils 
5>PROGUARD : warning : net.ypresto.androidtranscoder.engine.MediaFormatValidator: can't find referenced class org.jcodec.codecs.h264.io.model.SeqParameterSet 
5>PROGUARD : warning : net.ypresto.androidtranscoder.engine.MediaFormatValidator: can't find referenced class org.jcodec.codecs.h264.io.model.SeqParameterSet 
5>PROGUARD : warning : net.ypresto.androidtranscoder.engine.MediaFormatValidator: can't find referenced class org.jcodec.codecs.h264.H264Utils 
5>PROGUARD : warning : net.ypresto.androidtranscoder.engine.MediaFormatValidator: can't find referenced class org.jcodec.codecs.h264.io.model.SeqParameterSet 
5>PROGUARD : warning : net.ypresto.androidtranscoder.engine.MediaFormatValidator: can't find referenced class org.jcodec.codecs.h264.io.model.SeqParameterSet 
5>PROGUARD : warning : okio.DeflaterSink: can't find referenced class org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement 
5>PROGUARD : warning : okio.Okio: can't find referenced class java.nio.file.Files 
5>PROGUARD : warning : okio.Okio: can't find referenced class java.nio.file.Files 
5>PROGUARD : warning : okio.Okio: can't find referenced class java.nio.file.Files 
5>PROGUARD : warning : okio.Okio: can't find referenced class java.nio.file.Path 
5>PROGUARD : warning : okio.Okio: can't find referenced class java.nio.file.OpenOption 
5>PROGUARD : warning : okio.Okio: can't find referenced class java.nio.file.Path 
5>PROGUARD : warning : okio.Okio: can't find referenced class java.nio.file.OpenOption 
5>PROGUARD : warning : okio.Okio: can't find referenced class org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement 
5>PROGUARD : warning : okio.Okio: can't find referenced class java.nio.file.Path 
5>PROGUARD : warning : okio.Okio: can't find referenced class java.nio.file.OpenOption 
5>PROGUARD : warning : okio.Okio: can't find referenced class java.nio.file.Path 
5>PROGUARD : warning : okio.Okio: can't find referenced class java.nio.file.OpenOption 
5>PROGUARD : warning : okio.Okio: can't find referenced class org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement 
5> Note: android.support.v4.text.ICUCompatIcs: can't find dynamically referenced class libcore.icu.ICU (TaskId:297) 
5> Note: com.squareup.okhttp.internal.Platform: can't find dynamically referenced class com.android.org.conscrypt.OpenSSLSocketImpl (TaskId:297) 
5> Note: com.squareup.okhttp.internal.Platform: can't find dynamically referenced class org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl (TaskId:297) 
5> Note: android.support.v4.app.NotificationCompatJellybean accesses a declared field 'icon' dynamically (TaskId:297) 
5>  Maybe this is program field 'android.support.v4.app.NotificationCompat$Action { int icon; }' (TaskId:297) 
5>  Maybe this is program field 'blert.droid.R$drawable { int icon; }' (TaskId:297) 
5>  Maybe this is library field 'android.R$attr { int icon; }' (TaskId:297) 
5>  Maybe this is library field 'android.R$id { int icon; }' (TaskId:297) 
5>  Maybe this is library field 'android.app.LauncherActivity$ListItem { android.graphics.drawable.Drawable icon; }' (TaskId:297) 
5>  Maybe this is library field 'android.app.Notification { int icon; }' (TaskId:297) 
5>  Maybe this is library field 'android.app.Notification$Action { int icon; }' (TaskId:297) 
5>  Maybe this is library field 'android.appwidget.AppWidgetProviderInfo { int icon; }' (TaskId:297) 
5>  Maybe this is library field 'android.content.pm.PackageItemInfo { int icon; }' (TaskId:297) 
5>  Maybe this is library field 'android.content.pm.ResolveInfo { int icon; }' (TaskId:297) 
5>  Maybe this is library field 'android.inputmethodservice.Keyboard$Key { android.graphics.drawable.Drawable icon; }' (TaskId:297) 
5>  Maybe this is library field 'android.speech.tts.TextToSpeech$EngineInfo { int icon; }' (TaskId:297) 
5> Note: android.support.v4.app.NotificationCompatJellybean accesses a declared field 'title' dynamically (TaskId:297) 
5>  Maybe this is program field 'android.support.v4.app.NotificationCompat$Action { java.lang.CharSequence title; }' (TaskId:297) 
5>  Maybe this is program field 'blert.droid.R$id { int title; }' (TaskId:297) 
5>  Maybe this is library field 'android.R$attr { int title; }' (TaskId:297) 
5>  Maybe this is library field 'android.R$id { int title; }' (TaskId:297) 
5>  Maybe this is library field 'android.app.Notification$Action { java.lang.CharSequence title; }' (TaskId:297) 
5>  Maybe this is library field 'android.preference.PreferenceActivity$Header { java.lang.CharSequence title; }' (TaskId:297) 
5> Note: android.support.v4.app.NotificationCompatJellybean accesses a declared field 'actionIntent' dynamically (TaskId:297) 
5>  Maybe this is program field 'android.support.v4.app.NotificationCompat$Action { android.app.PendingIntent actionIntent; }' (TaskId:297) 
5>  Maybe this is library field 'android.app.Notification$Action { android.app.PendingIntent actionIntent; }' (TaskId:297) 
5> Note: the configuration refers to the unknown class 'com.google.vending.licensing.ILicensingService' (TaskId:297) 
5> Note: the configuration refers to the unknown class 'com.android.vending.licensing.ILicensingService' (TaskId:297) 
5> Note: the configuration keeps the entry point 'android.support.v4.view.ViewPager { void setOnAdapterChangeListener(android.support.v4.view.ViewPager$OnAdapterChangeListener); }', but not the descriptor class 'android.support.v4.view.ViewPager$OnAdapterChangeListener' (TaskId:297) 
5> Note: the configuration keeps the entry point 'android.support.v4.view.ViewPager { void calculatePageOffsets(android.support.v4.view.ViewPager$ItemInfo,int,android.support.v4.view.ViewPager$ItemInfo); }', but not the descriptor class 'android.support.v4.view.ViewPager$ItemInfo' (TaskId:297) 
5> Note: the configuration keeps the entry point 'android.support.v4.view.ViewPager { void calculatePageOffsets(android.support.v4.view.ViewPager$ItemInfo,int,android.support.v4.view.ViewPager$ItemInfo); }', but not the descriptor class 'android.support.v4.view.ViewPager$ItemInfo' (TaskId:297) 
5>  You should check if you need to specify additional program jars. (TaskId:297) 
5>PROGUARD : warning : there were 20 unresolved references to classes or interfaces. 
5>   You may need to specify additional library jars (using '-libraryjars'). (TaskId:297) 
5> Note: there were 2 references to unknown classes. (TaskId:297) 
5>  You should check your configuration for typos. (TaskId:297) 
5> Note: there were 3 unkept descriptor classes in kept class members. (TaskId:297) 
5>  You should consider explicitly keeping the mentioned classes (TaskId:297) 
5>  (using '-keep'). (TaskId:297) 
5> Note: there were 3 unresolved dynamic references to classes or interfaces. (TaskId:297) 
5> Note: there were 3 accesses to class members by means of introspection. (TaskId:297) 
5>  You should consider explicitly keeping the mentioned class members (TaskId:297) 
5>  (using '-keep' or '-keepclassmembers'). (TaskId:297) 
5> java.io.IOException: Please correct the above warnings first. (TaskId:297) 
5>  at proguard.Initializer.execute(Initializer.java:321) (TaskId:297) 
5>  at proguard.ProGuard.initialize(ProGuard.java:211) (TaskId:297) 
5>  at proguard.ProGuard.execute(ProGuard.java:86) (TaskId:297) 
5>  at proguard.ProGuard.main(ProGuard.java:492) (TaskId:297) 
5> Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8 (TaskId:297) 
5>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1815,3): error MSB6006: "java.exe" exited with code 1. 
5>Done executing task "Proguard" -- FAILED. (TaskId:297) 
5>Done building target "_CompileToDalvik" in project "Blert.Droid.csproj" -- FAILED.: (TargetId:241) 
+0

Weitere Informationen zu diesem Fehler finden Sie unter der Konsolenausgabe. Es könnte zum Beispiel eine fehlende Datei oder ein falscher Dateiname sein. – Matt

+0

'java.io.IOException: Bitte korrigieren Sie die obigen Warnungen zuerst '... Sie müssen sie beheben, wenn Sie möchten, dass der Fehler verschwindet –

+0

Sagt der SDK-Manager irgendwelche Updates vor? Haben Sie jdk Updates verfügbar oder inkonsistente Versionen? Nur Vorschläge, da ich keine Ahnung habe;) – Matt

Antwort

0

Könnten Sie versuchen, die Java Heap-Größe zu 1G in Ihrer Projekteigenschaft/Optionen erhöhen

+1

Wie hilft das "20 unaufgelöste Verweise auf Klassen oder Schnittstellen"? –

1

Versuchen die folgende Zeile Ihrer Proguard.cfg Datei:

-dontwarn okio.** 

Wenn das nicht hilft, fügen Sie auch diese hinzu:

-dontwarn org.jcodec.codecs.h264.** 
-keep class org.jcodec.codecs.h264.** {*;} 
1

Alles, was ich tun musste, war die proguard auf die neueste Version hier zu aktualisieren: https://sourceforge.net/projects/proguard/files/

Auf macOS die Lage des Proguard Verzeichnis, wenn Xamarin Studio/Visual Studio für Mac verwenden hier ist:

/Users/your_username/Library/Developer/Xamarin/android-sdk-macosx/tools/proguard/bin 
Verwandte Themen