无法在 Android Studio 中解析符号 'R' :"manifest merger failed with multiple errors, see logs"
Cannot Resolve symbol 'R' in Android Studio :"manifest merger failed with multiple errors, see logs"
我是初学者,我使用 Android Studio。一个问题一直困扰着我。
到处都显示 "Cannot Resolve symbol 'R' " R.XXX.XXX
我试过:
1.checking my xml files, including manifest
2.checking SDK whether Build Tools is installed
3.clean project
4.rebuild project
5.sync project with Gradle files
6.every way I could find on Internet
重建项目时消息显示 "manifest merger failed with multiple errors, see logs"
我在这里简单地粘贴了一部分activity:
public class Clock_mainpage extends Activity {
private Button button_start;
private static final int START_LOCATION = 1;
private Item item;
private void findButton()
{
button_start = (Button) findViewById(R.id.start);
}
private Button.OnClickListener startclock = new Button.OnClickListener()
{
@Override
public void onClick(View view)
{
Intent intentMap = new Intent(Clock_mainpage.this, MapsActivity.class);
intentMap.putExtra("lat", item.getLatitude());
intentMap.putExtra("lng",item.getLongitude());
intentMap.putExtra("title",item.getTitle());
intentMap.putExtra("datetime",item.getLocaleDatetime());
startActivityForResult(intentMap, START_LOCATION);
finish();
}
};
我的 Manifest.xml 似乎有问题
我post它在下面:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.hackntu.android.clock"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="21" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<!--The ACCESS_COARSE/FINE_LOCATION permissions are not required to use
Google Maps Android API v2, but are recommended.
-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" />
<activity
android:name=".Clock_mainpage"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- Google Service edition -->
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<!-- Google Map API key -->
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="@string/google_maps_key" />
<!-- Map component -->
<activity
android:name=".MapsActivity"
android:label="@string/title_activity_maps" />
<activity/>
<application/>
</manifest>
嗯,这个问题对你们每个人来说似乎都很简单。但我在上面浪费了 3 个小时或更多时间。感谢你们所有人。
此致
你没有通过 R a imports 这样的问题中最重要的想法。
问题是已知且简单的。当然,您在使用某些资源时遇到了问题。 R class 没有生成。您从 IDE 那里得到信息说找不到 R,并且 IDE 建议您快速修复:导入 R class。
但是因为你的 R 不是在那个时候生成的,IDE 只有 android.R 可用。 IDE 导入 android.R
请仔细检查导入。
在导入中你应该有:
yourpackage.R
在我的例子中,我在 AndroidManifest.xml 中声明了两次相同的 activity。
所以它给了我重复的合并错误。一旦我删除了我的问题就解决了。
确保您的 activity 未在清单中列出两次。
在我的例子中,drawable ic_launcher 也被依赖库使用。在这种情况下,查看 Android Studio 中的 gradle 控制台会有所帮助。
Suggestion: add 'tools:replace="android:icon"' to <application> element at AndroidManifest.xml
这解决了我的问题,您的问题可能有所不同,但 gradle 控制台肯定会有所帮助。
有时这个问题是由于清单文件引起的。删除新添加的评论,空标签,如 并重建你的项目。它应该有效。
我是初学者,我使用 Android Studio。一个问题一直困扰着我。
到处都显示 "Cannot Resolve symbol 'R' " R.XXX.XXX
我试过:
1.checking my xml files, including manifest
2.checking SDK whether Build Tools is installed
3.clean project
4.rebuild project
5.sync project with Gradle files
6.every way I could find on Internet
重建项目时消息显示 "manifest merger failed with multiple errors, see logs"
我在这里简单地粘贴了一部分activity:
public class Clock_mainpage extends Activity {
private Button button_start;
private static final int START_LOCATION = 1;
private Item item;
private void findButton()
{
button_start = (Button) findViewById(R.id.start);
}
private Button.OnClickListener startclock = new Button.OnClickListener()
{
@Override
public void onClick(View view)
{
Intent intentMap = new Intent(Clock_mainpage.this, MapsActivity.class);
intentMap.putExtra("lat", item.getLatitude());
intentMap.putExtra("lng",item.getLongitude());
intentMap.putExtra("title",item.getTitle());
intentMap.putExtra("datetime",item.getLocaleDatetime());
startActivityForResult(intentMap, START_LOCATION);
finish();
}
};
我的 Manifest.xml 似乎有问题 我post它在下面:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.hackntu.android.clock"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="21" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<!--The ACCESS_COARSE/FINE_LOCATION permissions are not required to use
Google Maps Android API v2, but are recommended.
-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" />
<activity
android:name=".Clock_mainpage"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- Google Service edition -->
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<!-- Google Map API key -->
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="@string/google_maps_key" />
<!-- Map component -->
<activity
android:name=".MapsActivity"
android:label="@string/title_activity_maps" />
<activity/>
<application/>
</manifest>
嗯,这个问题对你们每个人来说似乎都很简单。但我在上面浪费了 3 个小时或更多时间。感谢你们所有人。 此致
你没有通过 R a imports 这样的问题中最重要的想法。 问题是已知且简单的。当然,您在使用某些资源时遇到了问题。 R class 没有生成。您从 IDE 那里得到信息说找不到 R,并且 IDE 建议您快速修复:导入 R class。
但是因为你的 R 不是在那个时候生成的,IDE 只有 android.R 可用。 IDE 导入 android.R
请仔细检查导入。 在导入中你应该有:
yourpackage.R
在我的例子中,我在 AndroidManifest.xml 中声明了两次相同的 activity。 所以它给了我重复的合并错误。一旦我删除了我的问题就解决了。 确保您的 activity 未在清单中列出两次。
在我的例子中,drawable ic_launcher 也被依赖库使用。在这种情况下,查看 Android Studio 中的 gradle 控制台会有所帮助。
Suggestion: add 'tools:replace="android:icon"' to <application> element at AndroidManifest.xml
这解决了我的问题,您的问题可能有所不同,但 gradle 控制台肯定会有所帮助。
有时这个问题是由于清单文件引起的。删除新添加的评论,空标签,如