我在尝试创建示例应用程序的签名apk时收到此异常。
请指导我解决这个问题。
我在MobileFirst 7.1中更新了最新的7.1.0.0-MFPF-StudioP2-IF201607111057。
[2016-07-29 13:16:13 - samAPPSampleAndroid] Proguard returned with error code 1. See console
[2016-07-29 13:16:13 - samAPPSampleAndroid] Note: there were 2641 duplicate class definitions.
[2016-07-29 13:16:13 - samAPPSampleAndroid] You should check if you need to specify additional program jars.
[2016-07-29 13:16:13 - samAPPSampleAndroid] java.lang.ClassCastException: java.lang.Object cannot be cast to java.lang.String
[2016-07-29 13:16:13 - samAPPSampleAndroid] at proguard.obfuscate.MemberObfuscator.newMemberName(MemberObfuscator.java:198)
[2016-07-29 13:16:13 - samAPPSampleAndroid] at proguard.obfuscate.MemberNameCollector.visitAnyMember(MemberNameCollector.java:74)
[2016-07-29 13:16:13 - samAPPSampleAndroid] at proguard.classfile.util.SimplifiedVisitor.visitProgramMember(SimplifiedVisitor.java:79)
[2016-07-29 13:16:13 - samAPPSampleAndroid] at proguard.classfile.util.SimplifiedVisitor.visitProgramMethod(SimplifiedVisitor.java:91)
[2016-07-29 13:16:13 - samAPPSampleAndroid] at proguard.classfile.visitor.MemberAccessFilter.visitProgramMethod(MemberAccessFilter.java:90)
[2016-07-29 13:16:13 - samAPPSampleAndroid] at proguard.classfile.ProgramMethod.accept(ProgramMethod.java:71)
[2016-07-29 13:16:13 - samAPPSampleAndroid] at proguard.classfile.ProgramClass.methodsAccept(ProgramClass.java:504)
[2016-07-29 13:16:13 - samAPPSampleAndroid] at proguard.classfile.visitor.AllMemberVisitor.visitProgramClass(AllMemberVisitor.java:48)
[2016-07-29 13:16:13 - samAPPSampleAndroid] at proguard.classfile.ProgramClass.accept(ProgramClass.java:346)
[2016-07-29 13:16:13 - samAPPSampleAndroid] at proguard.classfile.ProgramClass.hierarchyAccept(ProgramClass.java:359)
[2016-07-29 13:16:13 - samAPPSampleAndroid] at proguard.classfile.LibraryClass.hierarchyAccept(LibraryClass.java:371)
[2016-07-29 13:16:13 - samAPPSampleAndroid] at proguard.classfile.ProgramClass.hierarchyAccept(ProgramClass.java:416)
[2016-07-29 13:16:13 - samAPPSampleAndroid] at proguard.classfile.visitor.ClassHierarchyTraveler.visitProgramClass(ClassHierarchyTraveler.java:75)
[2016-07-29 13:16:13 - samAPPSampleAndroid] at proguard.classfile.visitor.MultiClassVisitor.visitProgramClass(MultiClassVisitor.java:85)
[2016-07-29 13:16:13 - samAPPSampleAndroid] at proguard.classfile.ProgramClass.accept(ProgramClass.java:346)
[2016-07-29 13:16:13 - samAPPSampleAndroid] at proguard.classfile.ClassPool.classesAccept(ClassPool.java:116)
[2016-07-29 13:16:13 - samAPPSampleAndroid] at proguard.obfuscate.Obfuscator.execute(Obfuscator.java:217)
[2016-07-29 13:16:13 - samAPPSampleAndroid] at proguard.ProGuard.obfuscate(ProGuard.java:333)
[2016-07-29 13:16:13 - samAPPSampleAndroid] at proguard.ProGuard.execute(ProGuard.java:135)
[2016-07-29 13:16:13 - samAPPSampleAndroid] at proguard.ProGuard.main(ProGuard.java:492)
项目属性
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system use,
# "build.properties", and override values to adapt the script to your
# project structure.
# Indicates whether an apk should be generated for each density. split.density=false
# Project target. target=android-21
# Uncomment the line below to enable Android Proguard proguard.config=proguard-project.txt
Helo Krish,
首先,请注意这个警告。这是非常重要的,你保持代码的整洁和组织,并有重复的
Proguard returned with error code 1. See console
[2016-07-29 13:16:13 - samAPPSampleAndroid] Note: there were 2641 duplicate class definitions.
[2016-07-29 13:16:13 - samAPPSampleAndroid] You should check if you need to specify additional program jars.
关于这个错误,在您的项目中有一行,您将对象强制转换/处理为字符串,而Proguard根本无法处理它
[2016-07-29 13:16:13 - samAPPSampleAndroid] java.lang.ClassCastException: java.lang.Object cannot be cast to java.lang.String
检查您的代码是否有任何可能的错误转换并进行处理。
此外,请查看与Proguard ClassCastException 相关的其他帖子