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

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

谈谈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/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.class
android/support/multidex/MultiDexExtractor.class
android/support/multidex/ZipUtil$CentralDirectory.class
android/support/multidex/ZipUtil.class
com/buyao/tv/bean/ContentDBModel.class
如何得知?

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5687631.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存