Error:warning: Ignoring InnerClasses attribute for an anonymous inner class

来源:互联网 发布:mac 鼠标指针大小 编辑:程序博客网 时间:2024/06/05 03:51

最近安装项目到自己oppo手机上提示Error:warning: Ignoring InnerClasses attribute for an anonymous inner class,但是在模拟机上或者其他手机都可以的,百度说

方法一

资料显示每个项目的Dex都有方法数的限制(上限65536,超过上限号称应用爆棚)

 在proguard-rules.pro文件中添加如下代码(解释:忽略内部类的一些属性

proguard-rules.pro在app下面

如下图


添加

-keepattributes EnclosingMethod
我添加了没有用

然后继续是第二种方法

在app下面的build添加

multiDexEnabled  true

defaultConfig {    minSdkVersion 15    targetSdkVersion 25    versionCode 4    versionName "1.1.0"    multiDexEnabled true}

添加了还是没用,继续百度

第三种方法


1、在AndroidManifest.xml的application中声明android.support.multidex.MultiDexApplication;
2、如果你已经有自己的Application类,让其继承MultiDexApplication;
3、如果你的Application类已经继承自其它类,你不想修改它,那么可以重写attachBaseContext()方法:

[java] view plain copy
  1. @Override   
  2. protected void attachBaseContext(Context base) {  
  3.     super.attachBaseContext(base);
  4.  MultiDex.install(this);  

自己用的3,就是在Application下面添加

@Overrideprotected void attachBaseContext(Context base) {    super.attachBaseContext(base);    MultiDex.install(this);}
这样问题就处理好了,这个问题很让头疼,

上面三种方法,自己用的第三种方法处理好的,如果你们是发布项目遇到或者安装项目到自己手机遇到这种问题就试试上面三种方法吧,很实用,都是大家实践过的。





阅读全文
0 0
原创粉丝点击