如何解决将图像添加到可绘制文件夹时,Android资源编译失败错误
我是Android新手。我做了一个简单的应用程序。当我尝试生成签名包时,出现以下错误。
代码:
build.gradle(项目)
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath "com.android.tools.build:gradle:4.1.0"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
build.gradle(模块)
plugins {
id 'com.android.application'
}
android {
compileSdkVersion 30
buildToolsVersion "30.0.2"
defaultConfig {
applicationId "com.example.cricketchirps"
minSdkVersion 21
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.2.1'
implementation 'androidx.constraintlayout:constraintlayout:2.0.2'
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}
gradle.properties
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
# When configured,Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details,visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
# AndroidX package structure to make it clearer which packages are bundled with the
# Android operating system,and which are packaged with your app"s APK
# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:background="@color/background"
android:backgroundTint="@color/background"
android:orientation="vertical"
tools:context=".MainActivity">
<ImageView
android:id="@+id/imageView2"
android:layout_width="match_parent"
android:layout_height="226dp"
android:contentDescription="@string/thermameter_pic"
android:src="@drawable/temp1" />
<TextView
android:id="@+id/textViewDoKnow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dp"
android:fontFamily="@font/ubuntu_bold"
android:text="@string/do_you_know"
android:textColor="#000000"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="10dp"
android:layout_marginTop="20dp"
android:layout_marginRight="10dp"
android:fontFamily="@font/ubuntu"
android:gravity="center_horizontal"
android:lineSpacingExtra="4sp"
android:text="@string/you_can_determin"
android:textColor="#000000"
android:textSize="14sp" />
<EditText
android:id="@+id/inputNumber"
android:layout_width="217dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dp"
android:autofillHints=""
android:backgroundTint="@color/black"
android:ems="10"
android:gravity="center_horizontal"
android:hint="@string/enter_numb_chirps"
android:inputType="number"
android:textColor="#040404"
android:textSize="14sp" />
<Button
android:id="@+id/btnTemp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dp"
android:background="@color/button_color"
android:backgroundTint="@color/button_color"
android:gravity="center_horizontal|center_vertical"
android:paddingTop="4dp"
android:paddingBottom="4dp"
android:text="@string/get_temp"
android:textColor="#FFFFFF"
android:textSize="12sp" />
<TextView
android:id="@+id/tvRes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dp"
android:fontFamily="@font/ubuntu_bold"
android:gravity="center_horizontal"
android:text="@string/textview"
android:textColor="#000000"
android:textSize="12sp" />
</LinearLayout>
我尝试清理并重建项目,使缓存无效/重新启动。但是我仍然遇到错误。
我从drawable文件夹中删除了temp1.png并完全删除了ImageView。工作正常。没有错误。
任何人都可以告诉我为什么出现此错误以及如何解决该错误吗?
Android Studio:4.1
构建工具:30.0.2
版本版本:6.5
Android Gradle插件版本:4.1.0
更新:
我刚刚将图像从png转换为webp格式。它解决了我的问题。 要将图像从png转换为Android Studio中的webp,请打开图像>右键单击>转换为webp ...
解决方法
尝试动态设置图像资源(即在.java或.kt文件中)
JAVA-
ImageView img = findViewById("R.id.imageView2");
img.setImageDrawable(getResources().getDrawable(R.drawable.temp1));
科特琳-
imageView2.setImageDrawable(resources.getDrawable(R.drawable.temp1))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。