Проект Android, использующий Maven с AAR, чтобы не было ошибок Eclipse

У меня есть проект 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, чтобы иметь доступ к их ресурсам.

person nano    schedule 26.07.2014    source источник


Ответы (1)


Перейдите на Gradle, это может окупить ваши усилия по устранению неполадок. Эти новые библиотеки Google все больше и больше создаются для Gradle. Android-Maven-Plugin недостаточно развит, чтобы хорошо работать с файлами AAR так, как раньше работал APKLIB, поэтому может потребоваться множество небольших адаптаций. Так что, если это так, я бы порекомендовал вместо этого провести это драгоценное время с Gradle.

Примечание: «переход на Gradle» не обязательно означает, что вам нужно переключиться на Android Studio. Вы все еще можете использовать эту замечательную IDE, которой является Eclipse ;-)

person Alécio Carvalho    schedule 08.08.2014
comment
Не могли бы вы дать ссылку на некоторые ресурсы, объясняющие, как правильно использовать проекты Gradle для Android в Eclipse, или расширить этот вопрос самостоятельно? AFAIK Поддержка Gradle в Eclipse не соответствует уровню, например, Maven в Eclipse или Gradle в Android Studio, и мне еще предстоит найти кого-нибудь, описывающего надежный способ управления Android-проектами на основе Gradle в Eclipse. - person Giulio Piancastelli; 08.08.2014
comment
Правда, что касается интеграции IDE с Eclipse, то хорошо работает только редактор. Я лично предпочитаю использовать Gradle в командной строке, поэтому в основном Eclipse будет использоваться только для редактирования. В основном вы можете использовать Eclipse стандартным способом (т.е. добавлять дополнительные проекты в качестве проектов библиотеки Android) и использовать Gradle только для выполнения сборок выпуска (официальных сборок) и для сборки непрерывной интеграции. Что касается интеграции, Android Studio является «лучшим», но в других аспектах IDE я по-прежнему предпочитаю использовать Eclipse. - person Alécio Carvalho; 08.08.2014
comment
Кстати, эта ссылка является обязательной для чтения для Gradle с Android: tools.android.com/tech-docs/new-build-system/user-guide - person Alécio Carvalho; 08.08.2014