大佬教程收集整理的这篇文章主要介绍了android – Fabric Beta和APK拆分,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
splits { abi { enable true reset() include 'x86','armeabi','armeabi-v7a','mips','arm64-v8a' universalApk true } }
我有多种口味和2种构建类型(调试和发布).我想把通用的apk文件放在面料测试版上,该文件包含适用于所有平台的原生库.据我所知,这是通过ext.betaDiStributionApkFilePath属性支持的.
我可以在buildType级别或者在flavor级别定义它.问题是我需要构建类型和风格来获取我的变体 – 这样的事情:
android.applicationVariants.all { variant -> variant.ext.betaDiStributionApkFilePath = "${BuildDir}/outputs/apk/app-${variant.productFlavors[0].namE}-universal-${variant.buildType.namE}.apk" }
要么
gradle.taskGraph.beforeTask { Task task -> if(task.name ==~ /crashlyticsUploadDiStribution.*/) { System.out.println("task name: ${task.namE}"); android.applicationVariants.all { variant -> System.out.println("match: crashlyticsUploadDiStribution${variant.namE}"); if(task.name ==~ /(?i)crashlyticsUploadDiStribution${variant.namE}/){ ext.betaDiStributionApkFilePath = "${BuildDir}/outputs/apk/app-${variant.productFlavors[0].namE}-universal-${variant.buildType.namE}.apk" System.out.println(ext.betaDiStributionApkFilePath); } } }
不幸的是,这似乎不起作用 – 目前有没有办法做到这一点?
android.applicationVariants.all { variant -> variant.outputs.each { output -> // Filter is null for universal APKs. def filter = output.getFilter(com.android.build.outputFile.ABI) if (filter == null) { tasks.findAll { it.name.startsWith( "crashlyticsUploadDiStribution${variant.name.capitalize()}") }.each { it.doFirst { ext.betaDiStributionApkFilePath = output.outputFile.absolutePath } } tasks.findAll { it.name.startsWith( "crashlyticsUploadSymbols${variant.name.capitalize()}") }.each { it.doFirst { ext.betaDiStributionApkFilePath = output.outputFile.absolutePath } } } } }
以上是大佬教程为你收集整理的android – Fabric Beta和APK拆分全部内容,希望文章能够帮你解决android – Fabric Beta和APK拆分所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。