这是提供错误的java文件
package com.example.daksh.timetable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Button mon_but,tue_but,wed_but,thur_but,fri_but;
mon_but = (Button)findViewById(R.id.mon);
tue_but = (Button)findViewById(R.id.tue);
wed_but = (Button)findViewById(R.id.wed);
thur_but = (Button)findViewById(R.id.thur);
fri_but = (Button)findViewById(R.id.fri);
final ImageView main_Image = (ImageView) findViewById(R.id.day);
final int[] dayarray = {R.drawable.monday,R.drawable.tuesday,R.drawable.wednesday,R.drawable.thursday, R.drawable.friday};
mon_but.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
main_Image.setImageResource(dayarray[0]);
}
});
tue_but.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
main_Image.setImageResource(dayarray[1]);
}
});
wed_but.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
main_Image.setImageResource(dayarray[2]);
}
});
thur_but.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
main_Image.setImageResource(dayarray[3]);
}
});
fri_but.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
main_Image.setImageResource(dayarray[4]);
}
});
}
}
我得到的错误如下
信息:Gradle任务[clean,:app:assembleDebug] C:\项目\时间表\应用\ SRC \主\ RES \布局\ activity_main.xml中 错误:错误:资源android:attr / colorSwitchThumbNormal是私有的。 错误:资源android:attr / colorSwitchThumbNormal是私有的。 C:\项目\时间表\程序\ SRC \主\水库\布局,土地\ activity_main.xml中 错误:错误:资源android:attr / colorSwitchThumbNormal是私有的。 错误:资源android:attr / colorSwitchThumbNormal是私有的。 错误:链接文件资源失败。 错误:java.util.concurrent.ExecutionException:java.util.concurrent.ExecutionException:com.android.tools.aapt2.Aapt2Exception:AAPT2错误:检查日志以获取详细信息 错误:java.util.concurrent.ExecutionException:com.android.tools.aapt2.Aapt2Exception:AAPT2错误:检查日志以获取详细信息 错误:com.android.tools.aapt2.Aapt2Exception:AAPT2错误:检查日志以获取详细信息 错误:任务':app:processDebugResources'执行失败。 无法执行aapt 信息:9秒内失败 信息:9个错误 信息:0警告 信息:请参阅控制台中的完整输出
这是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:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background"
android:paddingBottom="16dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="16dp"
tools:context=".MainActivity">
<ImageView
android:id="@+id/day"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="16dp"
android:contentDescription="TODO"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/guideline_dayselection"
app:layout_constraintHorizontal_bias="0.519"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/guideline2"
app:layout_constraintVertical_bias="0.472"
app:srcCompat="@drawable/monday" />
<TextView
android:id="@+id/textView"
style="@style/Widget.AppCompat.TextView.SpinnerItem"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:fontFamily="serif"
android:text="@string/message"
android:textColor="?android:attr/colorSwitchThumbNormal"
android:textSize="18sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/mon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="50dp"
android:text="@string/monday"
app:layout_constraintBottom_toTopOf="@+id/tue"
app:layout_constraintStart_toStartOf="@+id/guideline_dayselection"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/tue"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:layout_marginStart="16dp"
android:text="@string/tuesday"
app:layout_constraintBottom_toTopOf="@+id/wed"
app:layout_constraintStart_toStartOf="@+id/guideline_dayselection"
app:layout_constraintTop_toBottomOf="@id/mon" />
<Button
android:id="@+id/wed"
android:layout_width="88dp"
android:layout_height="48dp"
android:layout_marginBottom="16dp"
android:layout_marginStart="16dp"
android:text="@string/wednesday"
app:layout_constraintBottom_toTopOf="@+id/thur"
app:layout_constraintStart_toStartOf="@+id/guideline_dayselection"
app:layout_constraintTop_toBottomOf="@id/tue" />
<Button
android:id="@+id/thur"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:layout_marginStart="16dp"
android:text="@string/thursday"
app:layout_constraintBottom_toTopOf="@+id/fri"
app:layout_constraintStart_toStartOf="@+id/guideline_dayselection"
app:layout_constraintTop_toBottomOf="@id/wed" />
<Button
android:id="@+id/fri"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginStart="16dp"
android:text="@string/friday"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@+id/guideline_dayselection"
app:layout_constraintTop_toBottomOf="@id/thur" />
<android.support.constraint.Guideline
android:id="@+id/guideline_dayselection"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_end="196dp" />
<android.support.constraint.Guideline
android:id="@+id/guideline2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.15339233" />
</android.support.constraint.ConstraintLayout>
答案 0 :(得分:34)
您的java
文件中可能存在此错误,因为存在一个或多个错误的XML
文件。
浏览所有XML
文件并解决错误,然后从构建菜单访问clean
或rebuild
项目
从您最近编辑的XML
文件开始
答案 1 :(得分:19)
如果任何人阅读此书都遇到相同的问题,这是我最近发生的,这是由于xml标头被错误地写入了两次:
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?> <!-- Remove this one -->
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/mug_blue"/>
<corners android:radius="@dimen/featured_radius" />
</shape>
我遇到的错误与该文件完全无关,因此很难找到。只需确保所有新的xml文件都没有类似这样的错误(因为它不会显示为错误)。 编辑,现在看来它是一个错误,请确保检查您的错误日志。
答案 2 :(得分:11)
看看你得到的错误:
C:\ Projects \ TimeTable \ app \ src \ main \ res \ layout-land \ activity_main.xml错误:错误:资源android:attr / colorSwitchThumbNormal是私有的。
这意味着在您的activity_main.xml中引用了颜色“android:colorSwitchThumbNormal”,但在“android”命名空间内该资源是私有的。您可能想要做的是尝试从该属性的支持版本引用该颜色,因此没有“android:”前缀。
<item name="android:colorSwitchThumbNormal">@color/myColor</item>
替换为:
<item name="colorSwitchThumbNormal">@color/second</item>
答案 3 :(得分:5)
在Android Studio终端中运行./gradlew build -stacktrace
。它可以帮助您找到导致此错误的文件。
答案 4 :(得分:4)
答案 5 :(得分:3)
我在评论中已经提到的一种可能的解决方案:
我在XML文件中遇到一个IDE无法突出显示的问题。不得不问我 同事为我编译,它显示在他的IDE中。越野车Android 工作室。
但是我找到了解决方法。
如果转到右侧的Gradle面板。选择所需的模块,例如。 应用,然后在构建下选择 assembleDebug ,它将向您显示标准输出中的所有错误。
答案 6 :(得分:2)
这是您的xml文件的错误。 如果logcat无法使用带有xml文件名的友好日志消息查明错误,请尝试清理项目并重建项目。它对我有用。
在Build选项卡中,您将获得名为Android Issues的节点。错误信息在它下面。
答案 7 :(得分:2)
这是一个 xml错误 ,由于某些原因,可能是由于删除了另一个视图中的视图或字符串,或者可能是缺少了“或”。等等
但是在这里,我使用的是 好的技术 来找出问题出在哪里:-
我知道这不是解决主要问题的方法,但它可以使您快速找到错误的出处并节省时间。
更新
还有另一种方法可以轻松找到,就像Bennik2000在评论中写的那样,您可以在右侧滚动条中查看红线,它们还指示错误。
更新
我发现了一种非常简单的方法来获取错误的确切位置,无论该错误是在资源文件中还是在Java文件中。
1-转到项目窗口。
2-打开出现错误的文件。
3-单击F2转到出现的最近错误(它将转到正确的行)
答案 8 :(得分:2)
对于 @P Fuster 提供的答案更为通用。 您的xml文件中可能有错误。
我遇到了相同的错误,并且在缺少结束标记的drawable中出错。
答案 9 :(得分:1)
我遇到了这个问题。主要问题是我在BottomAppBar
文件中的xml
上添加了一个属性。我在android bottom build部分中发现错误消息,说明错误我替换了该属性,没关系。对于其他有相同错误但我的解决方案不满意的其他人,您必须阅读错误消息,它将引导您到达痛苦的地方。
答案 10 :(得分:1)
检查您的XML
文件以解决错误。大多数情况下,对XML
文件所做的更改都会受到影响。因此,请尝试检查您所做的最后更改。
尝试清理您的项目。...有效
快乐编码:)
答案 11 :(得分:0)
这对于正在寻找其他答案的人可能很有用。转到Gradle面板,然后选择您的模块->任务->验证->检查。这将检查项目是否有错误,并在发生错误的地方打印日志。在大多数情况下,这种错误必须是项目的XML文件中存在拼写错误
答案 12 :(得分:0)
我的错误在于xml可绘制文件中。我有第一个班轮副本。将其更改为此对我有用:
<?xml version="1.0" encoding="utf-8"?>
答案 13 :(得分:0)
我遇到了同样的问题,但是它出现在我的所有项目中,我尝试了Invalidate Cache / Restart
,但即使它也不能解决问题。
最后,我意识到在我的Gradle Settings
中启用了Offline Work
。
在Build, Execution, Deployment
中未选中的Gradle
中转到Gradle Settings
> Offline Work
。
它解决了为我的Android Studio下载一些配置文件的问题。
答案 14 :(得分:0)
错误很可能位于您的xml
文件中,但是即使在逐个搜索每个文件后,我也无法找到它。
问题:
Android Studio将运行分析,并在布局看起来正确无误时进行绿色检查,如(右上角的绿色选中标记)
首选解决方案:
但是,在进一步检查xml的预览窗口时,有一个红色警报图标,它指示我正在寻找的错误:
答案 15 :(得分:0)
答案 16 :(得分:0)
我遇到了同样的问题。这是由于我的XML文件之一中的属性输入错误。无论如何,Android Studio在第一次运行时并未指定错误的来源。但是当我做了
构建->清理项目
然后再次运行该应用程序,它向我显示了错字所在的XML代码中的确切行。
我希望这可以对某人有所帮助。
答案 17 :(得分:0)
我知道这个问题已经得到解答,但是,我仍然想补充一下此处发表的很多内容,供其他人遇到类似但又不具体的问题。
有时也会由于“ Android资源链接失败”而出现此错误。有时是模糊的。解决方案有时可能很无聊且痛苦,但是,此错误绝对不严重。
在这种情况下,错误不是模糊的,因为Android Studio指向了问题文件。
一般原因 当Gradle在一个或多个XML文件中遇到错误(通常是语法或拼写错误)时,就会显示该错误。
大多数XML文件位于res文件夹中,但是,您仍然可能在res文件夹之外找到一些XML文件。例如,位于“ /src/main/AndroidManifest.xml”中的AndroidManifest.xml。这是一个布局文件示例,该文件会出现“错误:链接文件资源失败”错误。
解决方案 要解决此问题,您要做的就是浏览每个XML文件以找出错误可能在哪里。有时这可能很耗时,但是请放心,一旦发现并修复问题XML,该错误就会消失。
您可能很幸运,Android Studio会向您指出确切的方向,就像问题中提出的那样……
在其他情况下(例如,当您使用旧版本的Android Studio时),该错误并非如此。
以下是一些快速查找问题XML的提示 如果您有很多XML文件,并且一个接一个地浏览它们太困难了,则可以使用以下技巧来简化该过程:
撤消:大多数情况下,在经历此问题之前,您已经完成了一半的项目。意味着这是对您的XML文件之一的最新更改引起的。在这种情况下,您可以尝试撤消对XML文件的最新更改。要撤消,只需使用组合键:Ctrl + Z。
打开每个XML文件:第二种方法涉及简单地打开项目中的每个XML文件(不扫描)。这样做的原因是,有时,在打开有问题的XML文件后,Android Studio会检测到错误并在确切的行下划线。
答案 18 :(得分:0)
-可能的问题是您已经删除了.java文件,但这并不会删除.XML文件,因此请转到res->布局并删除以前删除过的.XML文件。 -另一个问题可能是您尚未删除清单文件中的文件,这些文件是您最近删除的语法... 因此,删除并运行代码
答案 19 :(得分:0)
就我而言,我创建了一个无法识别的自定义背景。
我从这两个XML资源文件的顶部删除了<?xml version="1.0" encoding="utf-8"?>
标签。
在尝试了社区的许多解决方案之后,这对我有用。 @P Fuster的回答让我尝试了这个。
答案 20 :(得分:0)
当您有一个随机XML文件不执行任何操作时,有时会发生这种情况。删除文件可解决此问题。
答案 21 :(得分:0)
有时会发生复制示例中的其他项目中粘贴代码的情况
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="256dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="@android:color/white"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:itemTextColor="@color/colorDrawerItems"
app:menu="@menu/activity_main_drawer" />
不幸的是,Android Studio并不总是显示依赖项错误,但是发生的情况是缺少类NavigationView
是因为implementation 'com.android.support:design
没有添加到项目中
答案 22 :(得分:0)
我正在做Temperatur Converter App。运行该应用程序时遇到以下错误: Android Studio链接失败。 在String.xml中,缺少一行,我加入了这一行。一切正常,没有任何错误。
校正前
<resources>
<color name="myColor">#FFE4E1</color>
<string name="Celsius">To Celsius</string>
<string name="fahrenheit">To Fahrenheit</string>
<string name="calc">Calculate</string>
</resources>
编辑后:
<resources>
<string name="app_name">Temp Converter</string>
<color name="myColor">#FFE4E1</color>
<string name="Celsius">To Celsius</string>
<string name="fahrenheit">To Fahrenheit</string>
<string name="calc">Calculate</string>
</resources>
答案 23 :(得分:0)
如果您以前删除了Activity java文件,但尚未删除相应的xml布局文件,也可能会显示此类似错误。
删除已删除的Activity java文件的xml文件,然后清理或重建项目。
其背后的原因可能是由于xml中上下文的不匹配。 (如果您要复制粘贴xml布局代码,则可能会发生这种情况) 将tools:context与活动的java文件匹配。
答案 24 :(得分:0)
如果您在XML布局文件中保留属性为null或为空的元素,或者Java文件的对象创建路径(例如为对象指定了不正确的ID),也会发生这种情况
此处frombottom= AnimationUtils.loadAnimation(this,R.anim);
的动画。 id或文件名留为空白会导致这种问题。
答案 25 :(得分:0)
错误与.xml文件的某些问题相关。手动打开每个xml格式文件以检查错误。我有同样的问题。不得不手动打开每个文件。 @string调用中有错误。