我已使用此代码解决了此问题,我的问题是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}}


