1

我有一个使用多个库的 android 项目:

  • 用于分析的游戏服务,
  • 用于动作的 appcompat-v7,
  • 和其他......(对于广告,应用内......)

我曾经使用 APKLIB 打包并且能够生成我的项目的 APK,但是在 Eclipse 中有数百个错误。所以我的意图是解决这个问题,因为根本没有任何错误}:-)

我发现了 AAR 格式和所有这些 gradle 人员,但我想继续使用我的 maven 结构。

所以我得到了 play_services 的 AAR 包(感谢https://github.com/mosabua/maven-android-sdk-deployer)并生成了 appcompat-v7 和其他库的 AAR 包。

我几乎做到了这一点,除了那些仍然找不到的库中的样式和其他缺失资源的一些错误:

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 中导入我所有的项目来访问他们的资源。
4

1 回答 1

-4

移至 Gradle,它可能会为您修复它所付出的努力带来回报。这些新的谷歌库越来越多地为 Gradle 设计。Android-Maven-Plugin 还不够成熟,无法像APKLIB过去那样很好地处理AAR文件,因此它可能需要进行很多小调整。所以如果是这样的话,我建议把这段宝贵的时间花在 Gradle 上。

注意:“迁移到 Gradle”并不一定意味着您必须切换到 Android Studio。您仍然可以使用 Eclipse 的这个出色的 IDE ;-)

于 2014-08-08T15:37:16.847 回答