我开始使用 IntelliJ,因为我在使用新的 Android Studio 时遇到了问题,并想尝试一些更稳定的东西(我以前从未真正使用过)。我最终得到了可怕的“包 R 不存在”错误。根据我的经验,这通常是在 XML 文件中搞砸的。对我来说,问题实际上出在我为 ActionBarSherlock 创建的 Android 库模块的 AndroidManifest.xml 文件上。无论出于何种原因,当它创建 AndroidManifest.xml 文件时,它并没有使用 ABS 附带的 AndroidManifest.xml 文件,而是将以下内容放入:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.ActionBarSherlockLibrary_4_3_1"
android:versionCode="1"
android:versionName="1.0">
<application
android:label="@string/app_name"
android:icon="@drawable/ic_launcher">
<activity
android:name="ACTIVITY_ENTRY_NAME"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
当我创建这个模块时,我选择了文件 > 新模块...然后我在 Android 部分下选择了库模块,对于内容根,我浏览到 ABS 文件的位置(其他字段自动填写正确,但我没有改变它们)。然后我单击完成,它提示我是否要保留本地文件或 project.properties 的内存文件。我选择保留本地文件,之后它没有提示我输入任何其他文件。
我不知道为什么它弄乱了 AndroidManifest.xml 文件(也许我上面做错了......???),但为了修复它,我只是复制了我与库一起下载并替换的原始 AndroidManifest.xml混乱的 AndroidManifest.xml 文件。之后我执行了 Build > Rebuild Project 并解决了“包 R 不存在”错误。
另一个想法,@xbakesx 提到了 Facets 设置,对于您用作库的任何模块,您应该确保在该模块的 Facets 下选中“库模块”。起初,当我试图弄清楚如何在 IntelliJ/Android Studio 中配置库时(我真的只使用过 Eclipse),我遇到了一些问题。