Как исключить файл.jar из файла.aar
Есть ли способ исключить.jar файл из.aar файла. Мой проект не работает, так как у меня есть один модуль, который содержит файл.aar, в котором Gson.jar используется в качестве библиотеки, и он мне также нужен в моем основном приложении, поэтому мне также нужно реализовать зависимость от Gson. Когда я попытался запустить свой проект, я получил ошибку мультидекса:
Выполнение не выполнено для задачи ': app: transformClassesWithBundleMultiDexListForDevelopmentBuildDebug'.
com.android.build.api.transform.TransformException: ошибка при создании основного списка dex.
Пожалуйста, помогите мне решить эту проблему. Спасибо
2 ответа
Наконец после долгих поисков я нашел решение.
Решение, которое сработало для меня:
$ unzip myLib.aar -d tempFolder # or other extracting tool
# Change whatever you need
$ jar cvf myNewLib.aar -C tempFolder/ .
Ссылочная ссылка: Изменение содержимого файла Android .aar / Преобразование в и из формата.zip
Вы можете иметь исключение в цели так же, как это
sourceSets.main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
java {
exclude '**/VanillaARMv*'
exclude '**/VanillaX86*'
}
resources {
exclude '**/VanillaARMv*'
exclude '**/VanillaX86*'
}
aidl {
exclude '**/VanillaARMv*'
exclude '**/VanillaX86*'
}
renderscript {
exclude '**/VanillaARMv*'
exclude '**/VanillaX86*'
}
}
Здесь я исключаю все, что у меня есть в папках VanillaARMv* и VanillaX86* из целевой сборки.