错误:警告:忽略匿名内部类的 InnerClasses 属性
Posted
技术标签:
【中文标题】错误:警告:忽略匿名内部类的 InnerClasses 属性【英文标题】:Error:warning: Ignoring InnerClasses attribute for an anonymous inner class 【发布时间】:2017-02-12 14:10:29 【问题描述】:请帮助我,我搜索了很多,但找不到任何解决此错误的方法。
build.gragle:
apply plugin: 'com.android.application'
android
signingConfigs
config
keyAlias 'leadtrak'
keyPassword 'leadtrak1'
storeFile file('/home/sheraz/AndroidStudioProjects/LeadTrak/LeadTrack/docs/LeadTrakKeyStore.jks')
storePassword 'leadtrak1'
compileSdkVersion 24
buildToolsVersion "24.0.1"
useLibrary 'org.apache.http.legacy'
defaultConfig
applicationId "leadtrak.activities"
minSdkVersion 9
targetSdkVersion 9
buildTypes
release
signingConfig signingConfigs.config
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
lintOptions
checkReleaseBuilds false
abortOnError false
dependencies
compile 'com.android.support:support-v4:24.2.1'
compile 'com.google.android.gms:play-services:+'
compile files('libs/acra-4.4.0.jar')
compile files('libs/commons-codec.jar')
compile files('libs/ksoap2.jar')
compile files('libs/sqlcipher.jar')
compile files('libs/twilioclient-android.jar')
compile files('libs/zip4j_1.3.1.jar')
错误日志:
错误:警告:忽略匿名内部的 InnerClasses 属性 类错误:(net.lingala.zip4j.util.ArchiveMaintainer$1) 没有 带有一个错误:关联的 EnclosureMethod 属性。这节课 可能是由没有针对 现代 .class 文件格式。推荐的错误:解决方案是 使用最新的编译器从源代码重新编译类 错误:并且没有指定任何“-target”类型选项。这 忽略错误的后果:这个警告是反光的 对这个类的操作会出错 Error:indicate that it is 不是内部类。错误:(net.lingala.zip4j.unzip.Unzip$1) 不带有错误:关联的 EnclosureMethod 属性。 这个类可能是由一个错误产生的:编译器没有 以现代 .class 文件格式为目标。推荐的错误:解决方案 是使用最新的编译器从源代码重新编译类 错误:并且没有指定任何“-target”类型选项。这 忽略错误的后果:这个警告是反光的 对这个类的操作会出错 Error:indicate that it is 不是内部类。错误:(net.lingala.zip4j.unzip.Unzip$2) 不带有错误:关联的 EnclosureMethod 属性。 这个类可能是由一个错误产生的:编译器没有 以现代 .class 文件格式为目标。推荐的错误:解决方案 是使用最新的编译器从源代码重新编译类 错误:并且没有指定任何“-target”类型选项。这 忽略错误的后果:这个警告是反光的 对这个类的操作会出错 Error:indicate that it is 不是内部类。 错误:(net.lingala.zip4j.util.ArchiveMaintainer$2) 没有出现 带有错误:关联的 EnclosureMethod 属性。这堂课是 可能由不针对现代的错误:编译器产生 .class 文件格式。推荐的错误:解决方法是重新编译 源代码类,使用最新的编译器错误:并且没有 指定任何“-target”类型选项。忽视的后果 错误:此警告是此类上的反射操作将 错误地错误:表明它不是一个内部类。 错误:警告:忽略匿名内部的 InnerClasses 属性 类错误:(net.lingala.zip4j.zip.ZipEngine$1) 不附带 一个错误:关联的 EnclosureMethod 属性。这堂课大概是 由不针对现代 .class 的错误:编译器生成 文件格式。推荐的错误:解决方法是重新编译类 从源代码,使用最新的编译器错误:并且没有指定 任何“-target”类型选项。忽略错误的后果:this 警告是此类上的反射操作将错误地 错误:表明它不是一个内部类。错误:数量 .dex 文件中的方法引用不能超过 64K。了解如何 解决这个问题 https://developer.android.com/tools/building/multidex.html 错误:任务执行失败 ':app:transformClassesWithDexForRelease'.
com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException:进程'命令 '/usr/lib/jvm/java-8-oracle/bin/java'' 以非零退出完成 值 2
【问题讨论】:
这是完整的buid.gradle吗? 是的,这已经完成了。 @Haroon 你从@Vivek Mishra 得到了答案 你的问题解决了吗? 是的,我的问题解决了。非常感谢:) 【参考方案1】:我认为这是你的主要问题
.dex 文件中方法引用的数量不能超过 64K。
要解决此问题,请将以下几行放入您的应用级 gradle 文件。
将此行放入 defaultConfig 块
multiDexEnabled true
并添加以下依赖项
compile 'com.android.support:multidex:1.0.1'
在此之后重建您的项目。希望这能解决您的错误。
并尝试在项目中添加依赖项时避免使用 + 符号,就像使用播放服务依赖项一样
要删除 OutOfMemory 错误,请将其添加到应用级 gradle 文件中的 android block
中。
dexOptions
//incremental true
javaMaxHeapSize "4g"
【讨论】:
感谢您的回答。尝试您的解决方案后,我收到此错误。错误:java.lang.OutOfMemoryError:超出 GC 开销限制 非常感谢 :) 解决了我的问题 非常好的答案。注意incremental true
已弃用,可以注释掉【参考方案2】:
你能不能替换检查一下
defaultConfig
applicationId "leadtrak.activities"
minSdkVersion 9
targetSdkVersion 9
multiDexEnabled true
dexOptions
javaMaxHeapSize "4g"
signingConfigs
release
keyAlias 'leadtrak'
keyPassword 'leadtrak1'
storeFile file('/home/sheraz/AndroidStudioProjects/LeadTrak/LeadTrack/docs/LeadTrakKeyStore.jks')
storePassword 'leadtrak1'
buildTypes
release
signingConfig signingConfigs.release
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard- android.txt'), 'proguard-rules.txt'
dependencies
compile 'com.android.support:multidex:1.0.0'
compile 'com.android.support:support-v4:24.2.1'
compile 'com.google.android.gms:play-services:+'
compile files('libs/acra-4.4.0.jar')
compile files('libs/commons-codec.jar')
compile files('libs/ksoap2.jar')
compile files('libs/sqlcipher.jar')
compile files('libs/twilioclient-android.jar')
compile files('libs/zip4j_1.3.1.jar')
【讨论】:
我找不到这个和我的 gradle 之间的区别。【参考方案3】:从 SVN 签出项目时遇到类似的错误
当 SVN 完成检查时,Android Studio 询问我是否想将其创建为一个项目,然后我单击“是”,结果发现它已经是一个项目,并试图使其成为项目中的一个项目,这破坏了 Gradle构建它的能力 - 但是检查项目并打开文件夹对我有用
【讨论】:
以上是关于错误:警告:忽略匿名内部类的 InnerClasses 属性的主要内容,如果未能解决你的问题,请参考以下文章
Proguard 问题“警告:忽略匿名内部类的 InnerClasses 属性”
android Dx 警告:忽略匿名内部类 jar 文件问题的 InnerClasses 属性
Java内部类详解(含:成员内部类局部内部类匿名内部类静态内部类)