При компиляции LibVLC для Android вы получите один файл AAR на ABI, и я хотел бы знать, как можно добавить одну зависимость для ABI.
Первая попытка, packageOptions:
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, это было бы очень полезно.
Спасибо