xamarin.android - VSTS - Xamarin Proguard 版本和 JDK 1.8 的问题

标签 xamarin.android android-proguard azure-pipelines

我有一个 Xamarin Forms 项目,正在尝试使用与 VSTS 的持续集成来与 HockeyApps 集成。 我的应用程序使用 Java 1.8 进行编译,并使用 ProGuard 来缩小 android apk 文件。 但是当java尝试编译应用程序时,发现安装的proguard版本与Java 1.8不兼容 错误如下: ...无法处理类[android/app/ActivityTracker.class]不支持的类版本号[52.0]最大51.0,Java 1.7... 在我本地的 Visual Studio 安装中,我 fixed它替换了 Xamarin 为最新的 5.x 安装的默认 proguard 版本...

有人知道如何使用 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.

最佳答案

恐怕没有任何解决方法可以解决您的托管构建代理问题,因为用户无权更新托管计算机上已安装的软件。

您需要deploy your own build agent然后手动替换文件。

关于xamarin.android - VSTS - Xamarin Proguard 版本和 JDK 1.8 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41540019/

相关文章:

xamarin.android - Android 绑定(bind)库无法解析 : L. ...../R$layout

android - Monodroid - Monodevelop 在部署到设备时删除用户数据

android - 错误 :Execution failed for task ':android:transformClassesAndResourcesWithProguardForRelease'

java - 注意 : android. support.v4.app.NotificationCompat Jellybean 调用 'Field.getType'

azure - 允许用户选择预设或可选参数 azure pipeline

android - Xamarin.Android 安卓 :versionCode android:versionName - From Jenkins Build Server

android - 如何在 Android 模拟器上运行 Xamarin UI 测试

android - Proguard 与 Roboguice

Azure SQL Server - 无法对管道中的链接服务进行身份验证

sql-server - 在 Azure DevOps 管道上生成 SQL Server 架构更改脚本