Как исключить файл.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* из целевой сборки.

Другие вопросы по тегам