Добавьте библиотеки.aar, которые специфичны для abi
При компиляции LibVLC для Android вы получите один файл AAR на ABI, и я хотел бы знать, как можно было бы добавить одну зависимость для ABI.
Первая попытка, упаковкаОпции:
android.applicationVariants.all { variant ->
variant.outputs.each { output ->
if (output.getFilter(OutputFile.ABI) == "armeabi-v7a") {
packagingOptions {
exclude 'libs/libvlc-3.0.13-arm64-v8a.aar'
exclude 'libs/libvlc-3.0.13-x86_64.aar'
exclude 'libs/libvlc-3.0.13-x86.aar'
}
} else if (output.getFilter(OutputFile.ABI) == "arm64-v8a") {
packagingOptions {
exclude 'libs/libvlc-3.0.13-armeabi-v7a.aar'
exclude 'libs/libvlc-3.0.13-x86_64.aar'
exclude 'libs/libvlc-3.0.13-x86.aar'
}
} else if (output.getFilter(OutputFile.ABI) == "x86_64") {
packagingOptions {
exclude 'libs/libvlc-3.0.13-arm64-v8a.aar'
exclude 'libs/libvlc-3.0.13-armeabi-v7a.aar'
exclude 'libs/libvlc-3.0.13-x86.aar'
}
} else if (output.getFilter(OutputFile.ABI) == "x86") {
packagingOptions {
exclude 'libs/libvlc-3.0.13-arm64-v8a.aar'
exclude 'libs/libvlc-3.0.13-armeabi-v7a.aar'
exclude 'libs/libvlc-3.0.13-x86_64.aar'
}
}
}
}
// ...
dependencies{
implementation fileTree(include: ['*.aar'], dir: 'libs')
}
Я получил сообщение о том, что задание Android уже создано
Вторая попытка:
def currentAbi = ""
android.applicationVariants.all { variant ->
variant.outputs.each { output ->
currentAbi = output.getFilter(OutputFile.ABI)
}
}
// ...
dependencies{
implementation fileTree(include: ["libvlc-3.0.13-${currentAbi}.aar"], dir: 'libs')
}
Но я думаю, значение currentAbi не меняется, потому что мои классы VLC не включены.
Поэтому, если у кого-то есть решение по добавлению зависимости в aar-библиотеку, специфичную для ABI, это было бы очень полезно.
Спасибо