ProGuard:“java.exe"添加 ModernHTTPClient 后以代码 1 退出 [英] ProGuard: "java.exe" exited with code 1 after adding ModernHTTPClient

查看:29
本文介绍了ProGuard:“java.exe"添加 ModernHTTPClient 后以代码 1 退出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Xamarin.Forms 项目中,我添加了 ModernHTTPClient 库,现在 ProGuard 步骤因错误而中断:

In the Xamarin.Forms project I added ModernHTTPClient library and now the ProGuard step breaks with error:

C:Program Files (x86)Microsoft Visual Studio2017EnterpriseMSBuildXamarinAndroidXamarin.Android.Common.targets(2025,3):错误 MSB6006:java.exe"以代码 1 退出.

(以前,我在使用 ProGuard 时遇到了一些问题,但通过将 ProGuard 升级到最新版本,我能够在针对 Android 7.1 的情况下使其正常工作.)

(Previously, I had some issues with ProGuard but was able to get it to work while targeting Android 7.1 by upgrading ProGuard to latest version.)

日志文件中的一些详细信息如下.

Some of the details from the log file are below.

2>  Proguard (TaskId:363)
2>    AndroidSdkDirectory: C:android-sdk (TaskId:363)
2>    JavaPlatformJarPath: C:android-sdkplatformsandroid-25android.jar (TaskId:363)
2>    ClassesOutputDirectory: objReleaseandroidinclasses (TaskId:363)
2>    AcwMapFile: objReleaseacw-map.txt (TaskId:363)
2>    ProguardGeneratedApplicationConfiguration: objReleaseproguardproguard_project_primary.cfg (TaskId:363)
2>    ProguardJarInput: objReleaseproguard\__proguard_input__.jar (TaskId:363)
2>    ProguardJarOutput: objReleaseproguard\__proguard_output__.jar (TaskId:363)
2>    ProguardGeneratedReferenceConfiguration: (TaskId:363)
2>      objReleaseproguardproguard_project_references.cfg (TaskId:363)
2>    ProguardGeneratedApplicationConfiguration: (TaskId:363)
2>      objReleaseproguardproguard_project_primary.cfg (TaskId:363)
2>    ProguardCommonXamarinConfiguration: (TaskId:363)
2>      objReleaseproguardproguard_xamarin.cfg (TaskId:363)
2>    ProguardConfigurationFiles: (TaskId:363)
2>      
2>          {sdk.dir}toolsproguardproguard-android.txt;
2>          {intermediate.common.xamarin};
2>          {intermediate.references};
2>          {intermediate.application};
2>          ;
2>       (TaskId:363)
2>    ExternalJavaLibraries: (TaskId:363)
2>    DoNotPackageJavaLibraries: (TaskId:363)
2>    UseProguard: False (TaskId:363)
2>    EnableLogging: False (TaskId:363)
2>    DumpOutput: objReleaseproguarddump.txt (TaskId:363)
2>    PrintSeedsOutput: objReleaseproguardseeds.txt (TaskId:363)
2>    PrintMappingOutput: objReleaseproguardmapping.txt (TaskId:363)
2>  Environment Variables passed to tool: (TaskId:363)
2>    JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8 (TaskId:363)
2>  C:Program FilesJavajdk1.8.0_121\binjava.exe -jar C:android-sdk	oolsproguardlibproguard.jar -include C:android-sdk\toolsproguardproguard-android.txt -include objReleaseproguardproguard_xamarin.cfg -include objReleaseproguardproguard_project_references.cfg -include objReleaseproguardproguard_project_primary.cfg "-injars 'objReleaseproguard\__proguard_input__.jar';'C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDEReferenceAssembliesMicrosoftFrameworkMonoAndroidv7.1mono.android.jar';'objRelease\__library_projects__FormsViewGrouplibrary_project_importsformsviewgroup.jar';'objRelease\__library_projects__OkHttplibrary_project_importsokhttp-2.3.0-jar-with-dependencies.jar';'C:UsersuserAppDataLocalXamarinXamarin.Android.Support.Animated.Vector.Drawable23.3.0.0embeddedclasses.jar';'C:UsersuserAppDataLocalXamarinXamarin.Android.Support.Design23.3.0.0embeddedclasses.jar';'C:UsersuserAppDataLocalXamarinXamarin.Android.Support.v423.3.0.0embeddedclasses.jar';'C:UsersuserAppDataLocalXamarinXamarin.Android.Support.v423.3.0.0embeddedlibsinternal_impl-23.3.0.jar';'C:UsersuserAppDataLocalXamarinXamarin.Android.Support.v7.AppCompat23.3.0.0embeddedclasses.jar';'C:UsersuserAppDataLocalXamarinXamarin.Android.Support.v7.CardView23.3.0.0embeddedclasses.jar';'C:UsersuserAppDataLocalXamarinXamarin.Android.Support.v7.MediaRouter23.3.0.0embeddedclasses.jar';'C:UsersuserAppDataLocalXamarinXamarin.Android.Support.v7.MediaRouter23.3.0.0embeddedlibsinternal_impl-23.3.0.jar';'C:UsersuserAppDataLocalXamarinXamarin.Android.Support.v7.RecyclerView23.3.0.0embeddedclasses.jar';'C:UsersuserAppDataLocalXamarinXamarin.Android.Support.Vector.Drawable23.3.0.0embeddedclasses.jar'" "-libraryjars 'C:android-sdkplatformsandroid-25android.jar'" -outjars "objReleaseproguard\__proguard_output__.jar" -optimizations !code/allocation/variable  (TaskId:363)
2>  ProGuard, version 5.3.3 (TaskId:363)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.design.widget.Snackbar$Callback$DismissEvent' (TaskId:363)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.design.widget.Snackbar$Callback' (TaskId:363)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.design.widget.Snackbar$Duration' (TaskId:363)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.design.widget.CoordinatorLayout$Behavior' (TaskId:363)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.design.widget.CoordinatorLayout$DefaultBehavior' (TaskId:363)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.design.internal.NavigationMenuPresenter$NavigationMenuHeaderItem' (TaskId:363)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.design.internal.NavigationMenuPresenter$NavigationMenuItem' (TaskId:363)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.design.internal.NavigationMenuPresenter$NavigationMenuTextItem' (TaskId:363)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.design.internal.NavigationMenuPresenter$ViewHolder' (TaskId:363)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.design.widget.AppBarLayout$LayoutParams$ScrollFlags' (TaskId:363)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.design.widget.AppBarLayout$OnOffsetChangedListener' (TaskId:363)
2>  Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.design.widget.AppBarLayout_OnOffsetChangedListenerImplementor' (TaskId:363)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.design.widget.BottomSheetBehavior$State' (TaskId:363)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.design.widget.FloatingActionButton$OnVisibilityChangedListener' (TaskId:363)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.design.widget.HeaderBehavior' (TaskId:363)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.design.widget.HeaderScrollingViewBehavior' (TaskId:363)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.design.widget.NavigationView$OnNavigationItemSelectedListener' (TaskId:363)
2>  Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.design.widget.NavigationView_OnNavigationItemSelectedListenerImplementor' (TaskId:363)
2>  Note: the configuration doesn't specify which class members to keep for class 'android.support.design.widget.SwipeDismissBehavior$OnDismissListener' (TaskId:363)
2>  Note: the configuration doesn't specify which class members to keep for class 'mono.android.support.design.widget.SwipeDismissBehavior_OnDismissListenerImplementor' (TaskId:363)
...
2>  Note: the configuration doesn't specify which class members to keep for class 'com.squareup.okhttp.Authenticator' (TaskId:363)
2>  Note: the configuration doesn't specify which class members to keep for class 'com.squareup.okhttp.Callback' (TaskId:363)
2>  Note: the configuration doesn't specify which class members to keep for class 'com.squareup.okhttp.Interceptor$Chain' (TaskId:363)
2>  Note: the configuration doesn't specify which class members to keep for class 'com.squareup.okhttp.Interceptor' (TaskId:363)
2>  Note: the configuration doesn't specify which class members to keep for class 'okio.ForwardingSink' (TaskId:363)
2>  Note: the configuration doesn't specify which class members to keep for class 'okio.ForwardingSource' (TaskId:363)
...
2>  Reading program jar [C:UsersuserDesktopMyProjectXXXMyProjectXXX.MobileMyProjectXXX.Mobile.AndroidobjRelease\__library_projects__FormsViewGrouplibrary_project_importsformsviewgroup.jar] (TaskId:363)
2>  Reading program jar [C:UsersuserDesktopMyProjectXXXMyProjectXXX.MobileMyProjectXXX.Mobile.AndroidobjRelease\__library_projects__OkHttplibrary_project_importsokhttp-2.3.0-jar-with-dependencies.jar] (TaskId:363)
2>  Reading program jar [C:UsersuserAppDataLocalXamarinXamarin.Android.Support.Animated.Vector.Drawable23.3.0.0embeddedclasses.jar] (TaskId:363)
2>  Reading program jar [C:UsersuserAppDataLocalXamarinXamarin.Android.Support.Design23.3.0.0embeddedclasses.jar] (TaskId:363)
2>  Reading program jar [C:UsersuserAppDataLocalXamarinXamarin.Android.Support.v423.3.0.0embeddedclasses.jar] (TaskId:363)
2>  Reading program jar [C:UsersuserAppDataLocalXamarinXamarin.Android.Support.v423.3.0.0embeddedlibsinternal_impl-23.3.0.jar] (TaskId:363)
2>  Reading program jar [C:UsersuserAppDataLocalXamarinXamarin.Android.Support.v7.AppCompat23.3.0.0embeddedclasses.jar] (TaskId:363)
2>  Reading program jar [C:UsersuserAppDataLocalXamarinXamarin.Android.Support.v7.CardView23.3.0.0embeddedclasses.jar] (TaskId:363)
2>  Reading program jar [C:UsersuserAppDataLocalXamarinXamarin.Android.Support.v7.MediaRouter23.3.0.0embeddedclasses.jar] (TaskId:363)
2>  Reading program jar [C:UsersuserAppDataLocalXamarinXamarin.Android.Support.v7.MediaRouter23.3.0.0embeddedlibsinternal_impl-23.3.0.jar] (TaskId:363)
2>  Reading program jar [C:UsersuserAppDataLocalXamarinXamarin.Android.Support.v7.RecyclerView23.3.0.0embeddedclasses.jar] (TaskId:363)
2>  Reading program jar [C:UsersuserAppDataLocalXamarinXamarin.Android.Support.Vector.Drawable23.3.0.0embeddedclasses.jar] (TaskId:363)
2>  Reading library jar [C:android-sdkplatformsandroid-25android.jar] (TaskId:363)
2>  Initializing... (TaskId:363)
2>  Note: the configuration refers to the unknown class 'com.google.vending.licensing.ILicensingService' (TaskId:363)
2>  Note: the configuration refers to the unknown class 'com.android.vending.licensing.ILicensingService' (TaskId:363)
2>  Note: the configuration refers to the unknown class 'android.support.annotation.Keep' (TaskId:363)
2>  Note: the configuration refers to the unknown class 'android.support.annotation.Keep' (TaskId:363)
2>  Note: the configuration refers to the unknown class 'android.support.annotation.Keep' (TaskId:363)
2>  Note: the configuration refers to the unknown class 'android.support.annotation.Keep' (TaskId:363)
2>  Note: the configuration refers to the unknown class 'android.support.annotation.Keep' (TaskId:363)
2>  Note: android.support.v4.app.NotificationCompatJellybean calls 'Field.getType' (TaskId:363)
2>PROGUARD : warning : okio.DeflaterSink: can't find referenced class org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
2>PROGUARD : warning : okio.Okio: can't find referenced class java.nio.file.Files
2>PROGUARD : warning : okio.Okio: can't find referenced class java.nio.file.Files
2>PROGUARD : warning : okio.Okio: can't find referenced class java.nio.file.Files
2>PROGUARD : warning : okio.Okio: can't find referenced class java.nio.file.Path
2>PROGUARD : warning : okio.Okio: can't find referenced class java.nio.file.OpenOption
2>PROGUARD : warning : okio.Okio: can't find referenced class java.nio.file.Path
...
2>  Note: there were 7 references to unknown classes. (TaskId:363)
2>        You should check your configuration for typos. (TaskId:363)
2>        (http://proguard.sourceforge.net/manual/troubleshooting.html#unknownclass) (TaskId:363)
2>  Note: there were 1 classes trying to access generic signatures using reflection. (TaskId:363)
2>        You should consider keeping the signature attributes (TaskId:363)
2>        (using '-keepattributes Signature'). (TaskId:363)
2>        (http://proguard.sourceforge.net/manual/troubleshooting.html#attributes) (TaskId:363)
2>  Note: there were 15 unkept descriptor classes in kept class members. (TaskId:363)
2>        You should consider explicitly keeping the mentioned classes (TaskId:363)
2>        (using '-keep'). (TaskId:363)
2>        (http://proguard.sourceforge.net/manual/troubleshooting.html#descriptorclass) (TaskId:363)
2>  Note: there were 9 unresolved dynamic references to classes or interfaces. (TaskId:363)
2>        You should check if you need to specify additional program jars. (TaskId:363)
2>        (http://proguard.sourceforge.net/manual/troubleshooting.html#dynamicalclass) (TaskId:363)
2>  Note: there were 3 accesses to class members by means of introspection. (TaskId:363)
2>        You should consider explicitly keeping the mentioned class members (TaskId:363)
2>        (using '-keep' or '-keepclassmembers'). (TaskId:363)
2>        (http://proguard.sourceforge.net/manual/troubleshooting.html#dynamicalclassmember) (TaskId:363)
2>PROGUARD : warning : there were 14 unresolved references to classes or interfaces.
2>           You may need to add missing library jars or update their versions. (TaskId:363)
2>           If your code works fine without the missing classes, you can suppress (TaskId:363)
2>           the warnings with '-dontwarn' options. (TaskId:363)
2>           (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass) (TaskId:363)
2>  java.io.IOException: Please correct the above warnings first. (TaskId:363)
2>      at proguard.Initializer.execute(Initializer.java:473) (TaskId:363)
2>      at proguard.ProGuard.initialize(ProGuard.java:233) (TaskId:363)
2>      at proguard.ProGuard.execute(ProGuard.java:98) (TaskId:363)
2>      at proguard.ProGuard.main(ProGuard.java:538) (TaskId:363)
2>  Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8 (TaskId:363)
2>C:Program Files (x86)Microsoft Visual Studio2017EnterpriseMSBuildXamarinAndroidXamarin.Android.Common.targets(2025,3): error MSB6006: "java.exe" exited with code 1.
2>Done executing task "Proguard" -- FAILED. (TaskId:363)
2>Done building target "_CompileToDalvikWithDx" in project "MyProjectXXX.Mobile.Android.csproj" -- FAILED.: (TargetId:310)
2>

我尝试将 Java 堆大小增加到 1G,但没有效果.

I tried increasing the Java heap size to 1G, but that had no effect.

如果您对如何解决此问题有任何想法,请告诉我.谢谢.

Please let me know if you have any ideas on how to resolve this. Thanks.

推荐答案

听起来您需要做的就是在项目中添加一个 proguard.cfg 文件,并将构建操作设置为 ProguardConfiguration 删除任何警告并保留任何必要的类,例如:

It sounds like all you need to do is add a proguard.cfg file to your project with build action set to ProguardConfiguration to remove any warnings and keep any necessary classes for example:

# General Android
-dontwarn org.apache.http.**
-dontwarn android.net.http.AndroidHttpClient

# Android Support Library
-keep class android.support.multidex.MultiDexApplication
-keep class android.support.v4.**
-keep class android.support.v7.** {
    public *;
}

# Google Play Billing
-keep class com.android.vending.billing.**

# Google Play Services
-dontwarn com.google.android.gms.internal.*
-keep class * extends java.util.ListResourceBundle {
    protected java.lang.Object[][] getContents();
}

这篇关于ProGuard:“java.exe"添加 ModernHTTPClient 后以代码 1 退出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆