错误MSB6006:" java.exe"启用ProGuard时退出代码1

时间:2017-10-01 08:27:58

标签: xamarin xamarin.android android-proguard

我最近几天尝试解决这个问题,仍然没有成功。 如果我在没有proguard的情况下构建发布版本,那么一切都很好。

我读了许多关于可能出现的问题的话题,但在我的案例中没什么用。 到目前为止,我做了如下:

  1. Java最大堆大小 - 1G
  2. 使用" mklink" - mklink / j C:\ android-sdk“C:\ Program Files(x86)\ Android \ android-sdk”
  3. 创建了自己的proguard.cfg,内容为:
  4.   

    一般Android   -dontwarn org.apache.http。**   -dontwarn android.net.http.AndroidHttpClient

         

    Android支持库

         

    -keep class android.support.multidex.MultiDexApplication

         

    -keep class android.support.v4。**

         

    -keep class android.support.v7。** {       上市 *; }

         

    Google Play结算

         

    -keep class com.android.vending.billing。**

         

    Google Play服务

         

    -dontwarn com.google.android.gms.internal。*

         

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

    1. 手动将ProGuard更新到最新版本。
    2. 结果是0警告和1错误。

        

      错误:    C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Community \ MSBuild \ Xamarin \ Android \ Xamarin.Android.Common.targets(1929,3):   错误MSB6006:" java.exe"退出代码1.

      我还能做什么? 请帮忙。

      更新 我创建了全新的应用程序" Xamarin Hello World"那里" ProGuard"作品。所以我的应用程序不是系统一定是错的。 但Visual Studio没有向我展示除Java代码之外的任何其他错误1.那么如何追踪问题在哪里?

      更新 问题发生在我的" proguard.cfg"文件。我复制其他来源和一行的内容应该有评论,但它不是。所以这个问题消失了。但现在出现了一些警告:

      2>PROGUARD : warning : can't write resource [META-INF/MANIFEST.MF](Duplicate zip entry [classes.jar:META-INF/MANIFEST.MF]) 
      2>Copying resources from program jar [G:\ApkiC-Sharp\GNote\GNote\GNote.Android\obj\Release\__library_projects__\Xamarin.GooglePlayServices.Basement\library_project_imports\classes.jar](TaskId:345) 
      2>PROGUARD : warning : can't write resource [META-INF/MANIFEST.MF] (Duplicate zip entry [classes.jar:META-INF/MANIFEST.MF]) 
      2>Copying resources from program jar [G:\ApkiC-Sharp\GNote\GNote\GNote.Android\obj\Release\__library_projects__\Xamarin.GooglePlayServices.Maps\library_project_imports\classes.jar] (TaskId:345) 
      2>PROGUARD : warning : can't write resource [META-INF/MANIFEST.MF] (Duplicate zip entry [classes.jar:META-INF/MANIFEST.MF]) 
      2>Copying resources from program jar [G:\ApkiC-Sharp\GNote\GNote\GNote.Android\obj\Release\__library_projects__\Xamarin.GooglePlayServices.Tasks\library_project_imports\classes.jar] (TaskId:345) 
      2>PROGUARD : warning : can't write resource [META-INF/MANIFEST.MF] (Duplicate zip entry [classes.jar:META-INF/MANIFEST.MF])
      

      它的意义是什么?有什么值得担心的吗? 如何检查" ProGuard"工作正常吗?

2 个答案:

答案 0 :(得分:0)

我在Windows 10 x64和Visual Studio 2015上也遇到了相同的问题。我已在Visual Studio工具->选项-> xamarin-> java开发工具包位置的android设置下将JDK路径设置为JDK 1.8。它指向“ C:\ Program Files(x86)\ Java \ jdk1.7.0_55”,而我却指向“ C:\ Program Files \ Java \ jdk1.8.0_31”,问题已得到解决。

答案 1 :(得分:-1)

尝试启用Multi-Dex编译选项。