似乎有许多线程解决这个问题,但没有一个对我有用。我的问题是,无论何时我开始一个新项目,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>
我试过了:
所有这些都会产生相同的结果。
每次Gradle控制台显示:
我该怎么做才能解决这个问题?
答案 0 :(得分:1)
经过一番挖掘,我解决了我的问题。我的防病毒软件(Bitdefender)无法访问aapt2.exe,如Gradle控制台中的错误所示。
这并不是很明显,因为我没有看到任何被阻止的通知。此外,示例代码能够毫不费力地解析R,所以我很困惑为什么我无法让它工作。允许aapt2.exe访问后,使用Gradle重建,不再存在问题。
答案 1 :(得分:0)
我只想在这里添加此内容,因为我无法发表评论,对于遇到相同问题的任何人。 我认为Windows Defender可以做同样的事情。我关闭实时保护后,符号R就解决了。