5

我想开始使用新ActionBarappcompat-v7支持库,我正在使用maven。我试图创建一个 apklib。这些是我遵循的步骤:

  1. 创建项目的 ZIP 文件android-sdks/extras/android/support/v7/appcompat
  2. 使用 APKLIB 扩展名重命名 ZIP 文件。
  3. 将 APKLIB 文件安装到我的本地存储库中:

C:....m2\repository\android\support\compatibility-v7-appcompat\18>mvn install:install-file -Dfile=appcombat.apklib -DgroupId=android.support -DartifactId=appcompat -Dversion=18 -Dpackaging =apklib

开始使用我的 android 项目中的库,在 pom 中添加此依赖项:

    <dependency>
        <groupId>android.support</groupId>
        <artifactId>appcompat</artifactId>
        <version>18</version>
        <type>apklib</type>
    </dependency>

但它不起作用。我收到缺少工件的错误。
任何帮助将非常感激。

4

3 回答 3

8

这是一种在不依赖 Maven SDK 部署程序的情况下将 appcompat 安装到本地存储库的方法...

在 Android SDK Manager 中,安装“Android Support Repository”选项。进入您的 SDK 文件夹,然后进入 ./extras/m2Repository/com/android/support/appcompat-v7/18.0.0

打开 appcompat-v7-18.0.0.aar 文件并将 classes.jar 复制到名为 appcompat-v7-18.0.0.jar 的文件中

在命令行进入相同的 m2Repository 文件夹并运行以下命令:

mvn install:install-file -Dfile="./com/android/support/appcompat-v7/18.0.0/appcompat-v7-18.0.0.jar"/ -DpomFile="./com/android/support/appcompat-v7/18.0.0/appcompat-v7-18.0.0.pom"/ -Dpackaging="jar"
mvn install:install-file -Dfile="./com/android/support/appcompat-v7/18.0.0/appcompat-v7-18.0.0.aar"/ -DpomFile="./com/android/support/appcompat-v7/18.0.0/appcompat-v7-18.0.0.pom"/ -Dpackaging="apklib"

然后在你项目的POM中添加以下两个依赖

    <dependency>
        <groupId>com.android.support</groupId>
        <artifactId>appcompat-v7</artifactId>
        <version>18.0.0</version>
        <type>apklib</type>
    </dependency>
    <dependency>
        <groupId>com.android.support</groupId>
        <artifactId>appcompat-v7</artifactId>
        <version>18.0.0</version>
        <type>jar</type>
    </dependency>
于 2013-09-13T23:35:14.563 回答
1

使用 maven-android-sdk-deployer 生成的 apklib 对我来说效果很好。

https://github.com/mosabua/maven-android-sdk-deployer

于 2013-08-24T15:23:15.543 回答
0
    <dependency>
        <groupId>com.android.support</groupId>
        <artifactId>appcompat-v7</artifactId>
        <version>18.0.0</version>
        <type>apklib</type>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>com.android.support</groupId>
        <artifactId>appcompat-v7</artifactId>
        <version>18.0.0</version>
        <type>jar</type>
    </dependency>
    <dependency>
        <groupId>com.android.support</groupId>
        <artifactId>support-v4</artifactId>
        <version>18.0.0</version>
    </dependency>

我已将这些依赖项放在 pom 文件上,但它说在清理和构建时将 android:theme="@style/Theme.AppCompat.Light" 放在清单中,我将它放在清单上但仍然出现相同的错误。但是当我改变时

    <dependency>
        <groupId>com.android.support</groupId>
        <artifactId>appcompat-v7</artifactId>
        <version>18.0.0</version>
        <type>apklib</type>
    </dependency>

    <dependency>
        <groupId>com.android.support</groupId>
        <artifactId>appcompat-v7</artifactId>
        <version>18.0.0</version>
        <type>apklib</type>
        <scope>compile</scope>
    </dependency>

它在 android 上编译并运行,但 android manifest 仍然在 eclipse 中的 android:theme="@style/Theme.AppCompat.Light" 上显示红线。所以我不知道该怎么做才能在清单上的 eclipse 上删除这个红线错误文件

于 2014-04-27T11:55:32.170 回答