Android开发之——开发中的错误及解决办法

2.1 Cannot inline bytecode built with JVM target 1.8

现象

Cannot inline bytecode built with JVM target 1.8 into bytecode that is being built with JVM target

解决方案

android {

compileOptions {

sourceCompatibility = 1.8

targetCompatibility = 1.8

}

kotlinOptions {

jvmTarget = “1.8”

}

}

2.2 Unable to find EOCD signature

现象1

Execution failed for task ‘:app:packagexxxxRelease’.

A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade

Unable to find EOCD signature

现象2

Execution failed for task ‘:app:packageGame_ZHRelease’.

A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade

java.lang.IllegalArgumentException (no error message)

原因

依赖中添加了有关ABI相关的配置,打包输出时,未指定ABI版本

[](https://blog.youkuaiyun.com/Calvin_zhou/article/de

tails/117333108)解决办法(添加ABI输出)

import com.android.build.OutputFile

static def releaseTime() {

return new Date().format(“yyyyMMdd”, TimeZone.getTimeZone(“GMT+8”))

}

buildTypes {

release {

minifyEnabled true

shrinkResources true

proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’

applicationVariants.all { variant ->

variant.outputs.all { output ->

project.ext { appName = ‘YourApkName’ }

outputFileName = “ a p p N a m e − {appName}- appName{output.getFilter(OutputFile.ABI)}- v a r i a n t . n a m e − {variant.name}- variant.name{variant.versionName}.apk”

}

}

}

}

2.3 failed to read PNG signature: file does not start with PNG signature

现象

AAPT: error: failed to read PNG signature: file does not start with PNG signature.

解决办法

在app/build.gradle文件中加以下代码后,重构项目

android {

compileSdkVersion 28

flavorDimensions “mode”

aaptOptions.cruncherEnabled = false

aaptOptions.useNewCruncher = false

defaultConfig {

}

2.4 Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8

现象(项目创建时)

An exception occurred applying plugin request [id: ‘com.android.application’]

Failed to apply plugin ‘com.android.internal.application’.

Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.

You can try some of the following options:

  • changing the IDE settings.

  • changing the JAVA_HOME environment variable.

  • changing org.gradle.java.home in gradle.properties.

解决办法

依次点击:File——>Project Struct——>SDK Location——>JDK location was moved to Gradle Settings,在打开的对话框中,将Gradle JDK修改为11

三 警告类


3.1 The ‘kotlin-android-extensions’ Gradle plugin is deprecated

现象

The ‘kotlin-android-extensions’ Gradle plugin is deprecated. Please use this migration guide (https://goo.gle/kotlin-android-extensions-deprecation) to start working with View Binding (https://developer.android.com/外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

资料获取→专栏
topic/libraries/view-binding) and the ‘kotlin-parcelize’ plugin.

解决办法

删除 apply plugin: ‘kotlin-android-extensions’

使用binding赋值

binding.name.text = viewModel.nameString

3.2 Warning: Mapping new ns xx/common/02 to old ns xx/common/01

现象

s’

使用binding赋值

binding.name.text = viewModel.nameString

3.2 Warning: Mapping new ns xx/common/02 to old ns xx/common/01

现象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值