Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – Proguard [java.lang.IllegalArgumentException:无符号短值溢出]大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
Gradle ver:3.4.1
JDK ver:1.8
Proguard ver:5.3.3
Android gradle插件2.3.
由于proguard,我在构建中遇到异常.我也试过了proguard 5.3.2但没有成功.

这是我的发布配置

release {
        debuggable false
        android.buildTypes.release.proguardFiles = []
        proguardFile 'proguard-android.txt'
        //minifyEnabled
        shrinkresources true
        signingConfig = signingConfigs.release
    }

以下是这个例子

Caused by: java.lang.IllegalArgumentexception: Overflow of unsigned short value [95001]
at proguard.classfile.io.RuntimeDataOutput.writeUnsignedShort(RuntimeDataOutput.java:213)
at proguard.classfile.io.ProgramClassWriter$AttributeBodyWriter.visitLinenumberInfo(ProgramClassWriter.java:565)
at proguard.classfile.attribute.LinenumberTableAttribute.linenumbersAccept(LinenumberTableAttribute.java:171)

PS:我可以用android gradle插件2.2构建.我认为这是使用较低版本的proguard.

解决方法

本期( PGD-681)已于 Proguard v6.0修订.

但是,Gradle v3.1.0的Android插件仍在使用Proguard v5.3.3.您可以检查它是否正在运行./gradlew buildEnvironment:

classpath
+--- com.android.tools.build:gradle:3.1.0
|    \--- com.android.tools.build:gradle-core:3.1.0
...
|         +--- net.sf.proguard:proguard-gradle:5.3.3
|         |    \--- net.sf.proguard:proguard-base:5.3.3

因此,您必须手动包含最新版本的Proguard:

classpath('com.android.tools.build:gradle:3.1.2') {
    exclude module: 'proguard-gradle'
}
classpath('net.sf.proguard:proguard-gradle:6.0.3') {
    force = true
}

大佬总结

以上是大佬教程为你收集整理的android – Proguard [java.lang.IllegalArgumentException:无符号短值溢出]全部内容,希望文章能够帮你解决android – Proguard [java.lang.IllegalArgumentException:无符号短值溢出]所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。