赞
踩
请看编辑1
我正忙着将FFmpegMediaMetadataRetriever pre-build .aar文件添加到我的项目中,以减少每个架构的Apk文件大小.
This帖子在他的Gradle中添加了以下内容:
android {
splits {
// Configures multiple APKs based on ABI.
abi {
// Enables building multiple APKs per ABI.
enable true
// By default all ABIs are included, so use reset() and include to specify that we only
// want APKs for x86, armeabi-v7a, and mips.
reset()
// Specifies a list of ABIs that Gradle should create APKs for.
include "x86", "x86_64", "armeabi-v7a", "arm64-v8a"
// Specifies that we want to also generate a universal APK that includes all ABIs.
universalApk false
}
}
//...
}
FFmpegMediaMetadataRetriever库提供以下.aar文件:
我的问题:
>我应该将.aar文件原样放在我的libs文件夹中(不为每个架构创建文件夹),还是应该将它添加到文件夹中?
>我应该使用上述.aar文件中的哪一个来支持所有体系结构?
>在帖子中他还谈到版本控制,这是必要的(我的应用程序是实时的,我不想搞砸版本控制 – 我目前的版本是21)?
他实现了这样的版本控制:
// Map for the version code that gives each ABI a value.
def abiCodes = ['x86':1, 'x86_64':2, 'armeabi-v7a':3, 'arm64-v8a':4]
// APKs for the same app that all have the same version information.
android.applicationVariants.all { variant ->
// Assigns a different version code for each output APK.
variant.outputs.each {
output ->
def abiName = output.getFilter(OutputFile.ABI)
output.versionCodeOverride = abiCodes.get(abiName, 0) * 100000 + variant.versionCode
}
}
我正在寻找可能使用FFmpegMediaMetadataRetriever的.aar文件的人,它可以为我提供如何正确实现它的指导.
编辑1:
在学习了有关不同架构/ ABI的more后,我认为如果我只包含armeabi-v7a那么大多数设备都会被“覆盖”,那就省了吗? (我的最低sdk是16).
这是否意味着我不必拆分APK而我不必担心版本控制?
然后我可以正常导入.aar – armv7-fmmr.aar?
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。