Сборка Android: выберите библиотеки для упаковки из проекта зависимостей - PullRequest
0 голосов
/ 26 октября 2019

Мой проект Android состоит из нескольких приложений, скажем App1 и App2, которые используют один и тот же проект с именем Common. Common использует CMake для создания нескольких собственных компонентов, включая libApp1.so и libApp2.so. В моем build.gradle файле для App1 у меня есть следующее:

dependencies {
    implementation project(":Common")
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0'
}

Обычно это работает с одним недостатком: зависимость от Common делает libApp1.so и libApp2.so упакованными в apks App1 и App2. На самом деле у меня более 20 нативных проектов, поэтому это становится настоящей головной болью. Я хочу только взять необходимые нативные библиотеки из проекта Common, что-то вроде

implementation project(":Common", include: ['libApp1.so'])

Есть ли способ добиться этого в Gradle?

Native CMake часть также используетсясобирать системы на других платформах, поэтому крайне нежелательно вносить в нее значительные изменения, характерные для Android, такие как перемещение команд сборки для каждого собственного проекта в соответствующий файл Android build.gradle.

...