新项目创建时无法解析符号R.

时间:2017-11-19 03:42:12

标签: android-studio gradle android-gradle

似乎有许多线程解决这个问题,但没有一个对我有用。我的问题是,无论何时我开始一个新项目,R都会突出显示为红色,项目将无法运行。

幸运的是 - 为了简单起见 - 我没有实现任何代码,项目中的所有代码都只是创建新项目所创建的代码:

package com.abc.android.unnamed;

import android.app.Activity;
import android.os.Bundle;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}
}

XML文件保持不变:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout   xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.abc.android.unnamed.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>

我试过了:

  • 删除项目文件并创建新项目
  • 做构建&gt;清洁项目,然后构建&gt;重建项目

所有这些都会产生相同的结果。

每次Gradle控制台显示:

gradle Console display

我该怎么做才能解决这个问题?

2 个答案:

答案 0 :(得分:1)

经过一番挖掘,我解决了我的问题。我的防病毒软件(Bitdefender)无法访问aapt2.exe,如Gradle控制台中的错误所示。

Bitdefender Access Image

这并不是很明显,因为我没有看到任何被阻止的通知。此外,示例代码能够毫不费力地解析R,所以我很困惑为什么我无法让它工作。允许aapt2.exe访问后,使用Gradle重建,不再存在问题。

答案 1 :(得分:0)

我只想在这里添加此内容,因为我无法发表评论,对于遇到相同问题的任何人。 我认为Windows Defender可以做同样的事情。我关闭实时保护后,符号R就解决了。