У меня есть проект Android, который использует несколько библиотек:
- плей-сервисы для аналитики,
- appcompat-v7 для экшена,
- и другие... (для рекламы, в приложении...)
Раньше я использовал упаковку APKLIB, и мне удалось сгенерировать APK моего проекта, но в Eclipse были сотни ошибок. Итак, я намерен исправить это, чтобы вообще не было ошибок }:-)
Я обнаружил формат AAR и весь этот персонал Gradle, но я хотел бы продолжать использовать свою структуру maven как есть.
Итак, я получил пакет play_services AAR (благодаря https://github.com/mosabua/maven-android-sdk-deployer) и сгенерировал пакет AAR appcompat-v7 и другие библиотеки.
И у меня это почти получилось, за исключением некоторых ошибок со стилями и других недостающих ресурсов из тех библиотек, которые до сих пор не найдены:
Error: No resource found that matches the given name (at 'value' with value '@integer/google_play_services_version').
Error: No resource found that matches the given name (at 'theme' with value '@style/Theme.AppCompat.Light').
Это пример некоторых моих зависимостей:
<dependency>
<groupId>com.google.android.gms</groupId>
<artifactId>play-services</artifactId>
<version>5.0.77</version>
<type>aar</type>
</dependency>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<version>4.1.1.4</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>android.support</groupId>
<artifactId>compatibility-v7-appcompat</artifactId>
<version>20.0.0</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>android.support</groupId>
<artifactId>compatibility-v7-appcompat</artifactId>
<version>20.0.0</version>
<type>aar</type>
</dependency>
<dependency>
<groupId>android.support</groupId>
<artifactId>compatibility-v4</artifactId>
<version>20.0.0</version>
</dependency>
Мои вопросы:
- Стоит ли забыть Maven и перейти на Gradle для использования Android-приложений? (Пожалуйста, скажите нет :)
- Разве нельзя получить ресурсы зависимостей с помощью упаковки AAR? Я не хочу импортировать все свои проекты в Eclipse, чтобы иметь доступ к их ресурсам.