如何在IntelliJ IDEA中添加库(android-support-v7-appcompat)

Ale*_*kov 68 android intellij-idea gradle android-support-library

我创建了一个项目,复制了项目中的资源文件,库,将它添加到项目结构中,规定了样式Theme.AppCompat.编译时没有错误,但是当你开始降级时出现异常:

08-03 00:50:00.406: ERROR/AndroidRuntime(4055): FATAL EXCEPTION: main
        java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$styleable
        at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:98)
        at android.support.v7.app.ActionBarActivityDelegateICS.onCreate(ActionBarActivityDelegateICS.java:58)
        at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:98)
        at com.example.SampleMetrRost.CentralActivity.onCreate(CentralActivity.java:12)
        at android.app.Activity.performCreate(Activity.java:4636)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1051)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1924)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1985)
        at android.app.ActivityThread.access$600(ActivityThread.java:127)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1151)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:137)
        at android.app.ActivityThread.main(ActivityThread.java:4476)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:816)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:583)
        at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)

请帮帮我.今天花了一整天.

Aus*_*ney 113

使用Gradle

如果您使用的是Gradle,则可以将其添加为compile依赖项.

说明

  1. 确保已Android Support Repository安装SDK包.Android Studio在构建过程中自动识别此存储库(不确定简单的IntelliJ).

    Android支持存储库

  2. 添加依赖项 {project}/build.gradle

    dependencies {
        compile 'com.android.support:appcompat-v7:+'
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 单击Sync Project with Gradle Files按钮.

编辑:看起来像这些相同的指令是对文档Adding libraries with resources -> Using Android Studio.

  • 我大多添加了这个以防其他人找到你的问题并使用Gradle.如果有人拥有IntelliJ的Android插件并使用Gradle,这应该有效. (6认同)
  • 谢谢,但我不使用Gradle.我在IntelliJ IDEA中没有Android Studio I程序 (3认同)

Tsu*_*Goh 83

没有Gradle(点击这里查看Gradle解决方案)

  1. 创建支持库项目.

  2. 从Eclipse项目将您的库项目导入Intellij(此步骤仅适用于您在Eclipse中创建库的情况).

  3. 右键单击模块,然后选择"打开模块设置".

  4. 设置v7 jar文件的库 设置v7 jar文件的库

  5. 设置v7的库模块 设置v7的库模块

  6. 设置v7库模块的app模块依赖关系 设置v7库模块的app模块依赖关系

  • 你能详细说明你如何进入第5步吗?我会非常感激的...谢谢! (3认同)

Ber*_*rsh 10

使用Maven

首先,您应该使用Maven Android SDK Deployer将android库安装到本地maven存储库

然后你可以像这样添加你的pom依赖:

    <dependency>
        <groupId>android.support</groupId>
        <artifactId>compatibility-v7-appcompat</artifactId>
        <version>${compatibility.version}</version>
        <type>apklib</type>
    </dependency>

    <dependency>
        <groupId>android.support</groupId>
        <artifactId>compatibility-v7-appcompat</artifactId>
        <version>${compatibility.version}</version>
        <type>jar</type>
    </dependency>
Run Code Online (Sandbox Code Playgroud)