我如何在IntelliJ IDEA中添加一个库(android-support-v7-appcompat)?
我如何在IntelliJ IDEA中添加一个库(android-support-v7-appcompat)?
我创建了一个项目,将资源文件复制到项目库中,并将其添加到项目结构中,并设置了样式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)
请帮忙,谢谢。我今天一整天都在解决这个问题。
问题的原因是使用IntelliJ IDEA添加android-support-v7-appcompat库时遇到了困难,解决方法是使用Maven将android库安装到本地Maven仓库。首先需要安装Maven Android SDK Deployer插件并将android库安装到本地Maven仓库,然后在pom文件中添加依赖。如果Maven Android SDK Deployer插件无法正常工作,可以按照以下步骤手动安装android-support-v7-appcompat库:
1. 进入ANDROID_HOME\sdk\extras\android\support\v7\appcompat目录
2. 创建整个库的zip文件并命名为appcompat.apklib
3. 在该位置打开命令提示符窗口,输入以下命令:mvn install:install-file -Dfile=appcompat.apklib -DgroupId=com.google.android -DartifactId=support-v7-appcompat -Dversion=r7 -Dpackaging=apklib
4. 进入/libs目录
5. 输入以下命令:mvn install:install-file -Dfile=android-support-v7-appcompat.jar -DgroupId=com.google.android -DartifactId=support-v7-appcompat -Dversion=r7 -Dpackaging=jar
6. 添加适当的依赖
问题的原因是用户想要在IntelliJ IDEA中添加一个名为android-support-v7-appcompat的库,但不知道如何操作。解决方法是使用Gradle将该库添加为依赖项。具体步骤如下:
1. 确保已安装Android Support Repository SDK包。Android Studio在构建过程中会自动识别该存储库(不确定普通IntelliJ是否也是如此)。
2. 在项目的build.gradle文件中添加依赖项:
dependencies { compile 'com.android.support:appcompat-v7:+' }
3. 点击"Sync Project with Gradle Files"按钮。
以上方法适用于使用Gradle的用户。如果使用Android插件和Gradle,也可以使用这种方法。对于普通的IntelliJ用户,操作方式与Android Studio相同,只需在完成"Android Support Repository"的安装后点击"Make project"按钮即可。
另外,如果在Android库项目中添加了支持库并尝试运行依赖于该Android库项目的应用程序时出现了"already added"异常,可以尝试在库项目中添加以下依赖项:
dependencies { compile 'com.android.support:support-v4:+' }
这样可以告诉它使用使用它的项目提供的任何版本。
请注意,某些情况下如果在依赖项的版本号末尾使用"+",可以避免一些问题。