栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Android 64k方法极限错误出现在56k方法上

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android 64k方法极限错误出现在56k方法上

我已使用此代码解决了此问题,我的问题是Google Play服务将我的应用推到了极限。这会删除您的应用不需要的Google
Play服务。将其放在gradle构建文件的底部

def toCamelCase(String string) {String result = ""string.findAll("[^\W]+") { String word ->    result += word.capitalize()}return result}afterevaluate { project ->    Configuration runtimeConfiguration = project.configurations.getByName('compile')    ResolutionResult resolution = runtimeConfiguration.incoming.resolutionResult    // Forces resolve of configuration    ModuleVersionIdentifier module = resolution.getAllComponents().find { it.moduleVersion.name.equals("play-services") }.moduleVersionString prepareTaskName = "prepare${toCamelCase("${module.group} ${module.name} ${module.version}")}Library"File playServiceRootFolder = project.tasks.find { it.name.equals(prepareTaskName) }.explodedDirTask stripPlayServices = project.tasks.create(name: 'stripPlayServices', group: "Strip") {    inputs.files new File(playServiceRootFolder, "classes.jar")    outputs.dir playServiceRootFolder    description 'Strip useless packages from Google Play Services library to avoid reaching dex limit'    doLast {        copy { from(file(new File(playServiceRootFolder, "classes.jar"))) into(file(playServiceRootFolder)) rename { fileName ->     fileName = "classes_orig.jar" }        }        tasks.create(name: "stripPlayServices" + module.version, type: Jar) { destinationDir = playServiceRootFolder archiveName = "classes.jar" from(zipTree(new File(playServiceRootFolder, "classes_orig.jar"))) {     exclude "com/google/ads/**"     exclude "com/google/android/gms/analytics/**"     exclude "com/google/android/gms/games/**"     exclude "com/google/android/gms/plus/**"     exclude "com/google/android/gms/drive/**"     exclude "com/google/android/gms/ads/**" }        }.execute()        delete file(new File(playServiceRootFolder, "classes_orig.jar"))    }}project.tasks.findAll { it.name.startsWith('prepare') && it.name.endsWith('Dependencies') }.each { Task task ->    task.dependsOn stripPlayServices}}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/509472.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号