谈谈android 4.4 multidex-noclassdeffound-error的问题(不是网上那种设置就可以解决的)

按理说

  multiDexEnabled true
    compile 'com.android.support:multidex:1.0.1'

以及继承自定义application
并复写自定义Application中的attachBaseContext是可以解决问题的

   protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);

        MultiDex.install(this);
    }

然而并不行,有人说要clearn project了,实际上也是浪费时间并不能解决

欲知如何解决,请关注我的微博qssq666

那么延伸出来的问题

如何使用高级gradle写法,在build.gradle里面进行判断如果是4.4就自动关闭即时运行,我觉得非常需要这个功能,很多时候4.4的即时运行会有bug
.至少,我编写xposed插件也会遇到很多问题。


https://github.com/casidiablo/multidex
https://stackoverflow.com/questions/26655541/multidex-noclassdeffound-error
https://blog.csdn.net/richie0006/article/details/51103976
https://blog.csdn.net/qq_30552993/article/details/75355492
http://www.cnblogs.com/wingyip/p/4496028.html
https://blog.csdn.net/t12x3456/article/details/40837287

尝试过如下代码

afterEvaluate {
    tasks.matching {
        it.name.startsWith('dex')
    }.each { dx ->
        if (dx.additionalParameters == null) {
            dx.additionalParameters = []
        }
        dx.additionalParameters += '--multi-dex'
        dx.additionalParameters += "--main-dex-list=$projectDir/multiDexKeep.txt".toString()
    }
}

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")
                    && !requested.name.startsWith("exifinterface")) {
                details.useVersion '26.1.0'
                //不设置24.2.1但是设置到了25就找不到布局,全部不管好像又冲突设置24.2.1 那么 要么冲突 要么       java.lang.NoSuchFieldError: No field notification_template_lines of type
            }
        }
    }
}

语法呢

android/support/multidex/BuildConfig/class
android/support/multidex/MultiDex$V14/class
android/support/multidex/MultiDex$V19/class
android/support/multidex/MultiDex$V4/class
android/support/multidex/MultiDex/class
android/support/multidex/MultiDexApplication.class
com/buyao/tv/activity/ErrorActivity/class
android/support/multidex/MultiDexExtractor$1/class
android/support/multidex/MultiDexExtractor/class
android/support/multidex/ZipUtil$CentralDirectory/class
android/support/multidex/ZipUtil/class

所以正缺语法是

android/support/multidex/BuildConfig.class
android/support/multidex/MultiDex$V14.class
android/support/multidex/MultiDex$V19.class
android/support/multidex/MultiDex$V4.class
android/support/multidex/MultiDex.class
android/support/multidex/MultiDexApplication.class
com/buyao/tv/activity/ErrorActivity.class
android/support/multidex/MultiDexExtractor$1.class
android/support/multidex/MultiDexExtractor.class
android/support/multidex/ZipUtil$CentralDirectory.class
android/support/multidex/ZipUtil.class
com/buyao/tv/bean/ContentDBModel.class
如何得知?

C:\speed\project\aaaa\app\build\intermediates\multi-dex\debug\maindexlist.txt 这里面有参考文件
可以参考对比一下,实际上语法是最后面是.class 某些教程有毛病吧,另外问题有没有解决呢?没有,运行时关闭之后重新编译依然不能解决问题,但是打包之后就可以,所以估计时我还需要清除无效缓存,总之吧as太jb操蛋了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,067评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,830评论 25 709
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,977评论 6 342
  • 写作谈不上,往往都会看见好的文章手痒痒,用文字表达内心是一种很强大的表现。对于我而言,感觉也很微妙。人力交流,好多...
    只是不明白而已阅读 181评论 0 1
  • 很多话想说,怕一开口就变成矫情。竟不知道该怎么开头。不想也不愿传递负能量,那是不道德的行为。每个人都不容易。忙碌半...
    Shero栗子阅读 495评论 0 0