当前位置: 首页 > 知识库问答 >
问题:

VSTS-Xamarin ProGuard版本和JDK 1.8的问题

凌和悦
2023-03-14

我有一个Xamarin表单项目,我正试图通过与VST的持续集成与HockeyApps集成。我的应用程序使用Java1.8进行编译,并使用ProGuard压缩android apk文件。但是当java试图编译应用程序时,它发现安装的proguard版本与java 1.8不兼容。错误如下:。。。无法处理类[android/app/ActivityTracker.class]不支持的类版本号[52.0]最大51.0,Java 1.7。。。在本地VisualStudio安装中,我修复了它,替换了Xamarin为最新版本安装的默认proguard版本5。十、

有人知道如何使用VSTS吗?

详细错误:

_CompileToDalvikWithDx:
  C:\Program Files\Java\jdk1.8.0_102\\bin\java.exe -jar C:\java\androidsdk\android-sdk\tools\proguard\lib\proguard.jar -include C:\java\androidsdk\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\v7.0\mono.android.jar';'obj\Release\__library_projects__\FormsViewGroup\library_project_imports\formsviewgroup.jar';'obj\Release\__library_projects__\HockeySDK.AndroidBindings\library_project_imports\bin\classes.jar';'C:\Users\buildguest\AppData\Local\Xamarin\Xamarin.Android.Support.Animated.Vector.Drawable\23.3.0.0\embedded\classes.jar';'C:\Users\buildguest\AppData\Local\Xamarin\Xamarin.Android.Support.Design\23.3.0.0\embedded\classes.jar';'C:\Users\buildguest\AppData\Local\Xamarin\Xamarin.Android...
  java.io.IOException: Can't read [C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\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)))
    at proguard.InputReader.readInput(InputReader.java:230)
    at proguard.InputReader.readInput(InputReader.java:200)
    at proguard.InputReader.readInput(InputReader.java:178)
    at proguard.InputReader.execute(InputReader.java:78)
    at proguard.ProGuard.readInput(ProGuard.java:196)
    at proguard.ProGuard.execute(ProGuard.java:78)
    at proguard.ProGuard.main(ProGuard.java:492)
  Caused by: java.io.IOException: Can't process class [android/app/ActivityTracker.class] (Unsupported class version number [52.0] (maximum 51.0, Java 1.7))
    at proguard.io.ClassReader.read(ClassReader.java:112)
    at proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87)
    at proguard.io.JarReader.read(JarReader.java:65)
    at proguard.io.DirectoryPump.readFiles(DirectoryPump.java:65)
    at proguard.io.DirectoryPump.pumpDataEntries(DirectoryPump.java:53)
    at proguard.InputReader.readInput(InputReader.java:226)
    ... 6 more
  Caused by: java.lang.UnsupportedOperationException: Unsupported class version number [52.0] (maximum 51.0, Java 1.7)
    at proguard.classfile.util.ClassUtil.checkVersionNumbers(ClassUtil.java:140)
    at proguard.classfile.io.ProgramClassReader.visitProgramClass(ProgramClassReader.java:88)
    at proguard.classfile.ProgramClass.accept(ProgramClass.java:346)
    at proguard.io.ClassReader.read(ClassReader.java:91)
    ... 11 more
  Picked up JAVA_TOOL_OPTIONS:  -Dfile.encoding=UTF8
C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2025,3): Error MSB6006: "java.exe" exited with code 1.

共有2个答案

陆宏壮
2023-03-14

原因是它使用的JDK1.7不兼容。您可以指定Xamarin构建步骤的JDK版本:

荆修明
2023-03-14

恐怕没有任何解决方法来解决您与托管构建代理的问题,因为用户没有权限更新托管机器上安装的软件。

您需要部署自己的构建代理,然后手动替换文件。

 类似资料:
  • 当运行maven包目标时 MVN清洁包 构建抛出错误: 目标组织。springframework。启动:spring boot maven插件:3.0.0-M1:重新打包失败:无法在插件“org”中加载mojo“重新打包”。springframework。boot:spring boot maven插件:3.0.0-M1’,由于API不兼容:org。科德豪斯。神经丛。组成部分存储库。例外Compo

  • 我正在使用 VSTS 利用新的静态网站功能将角度应用部署到 Blob 存储。为此,我使用 任务。由于Angular将在每次构建时为不同的捆绑包创建新文件名,因此我不能只是覆盖旧文件,因此最终会有很多旧文件 不幸的是,我还没有找到合适的任务来做这件事。 如何在重新部署之前使用发布管道删除或清除VSTS中的此容器?

  • 我试图上传由第三方exe在部署期间创建的日志文件,并将其包括在我的部署结果中,如果可能的话,在一个单独的选项卡上。 我尝试使用发布工件构建任务,但这只适用于构建而不是发布。 我尝试记录任务,但是

  • 这可能是由于依赖项、文件系统权限或网络问题中的错误造成的。 如果您在代理后面,请尝试设置'http_proxy'环境变量。 进程提示错误:无法启动nREPL服务器:无法将工件refactor-nrepl:refactor-nrepl:jar:2.5.0从/传输到central(https://repo1.maven.org/maven2/):java.lang.runtimeException:意

  • 我已经安装了Java EE Eclipse Kepler和Apache Tomcat v9.0.2。当我想将tomcat v9.0.2连接到eclipse时,我只在新的服务器窗口中看到Tomcat v3.2 up tp v7.0 Server。如何让Tomcat V.9显示在向导窗口中?

  • 我在VSTS中发布了一个版本,可以将我的Web应用程序部署到azure应用程序服务。为此,我使用Azure应用程序服务部署步骤。在正常部署webapp之后,我想从另一个构建结果中添加一个额外的zip工件。我只想将这些文件复制到azure上web应用程序的特定路径。我该怎么做?