生成兼容性-v7-appcompat的APKLIB

时间:2013-08-24 14:49:14

标签: android maven android-support-library android-appcompat

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

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

    C:....平方米\库\机器人\支持\兼容性-V7-程序兼容性\ 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>
    

    但它不起作用。我收到了丢失神器的错误 任何帮助将不胜感激。

3 个答案:

答案 0 :(得分: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>

答案 1 :(得分:1)

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

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

答案 2 :(得分: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清单仍然在eclipse上显示红线:theme =“@ style / Theme.AppCompat.Light”。所以我不知道如何删除此红线错误清除文件上的eclipse