Android Studio编译旧的app代码错误及解决方法

'android.injected.build.density' is deprecated.

The option 'android.injected.build.density' is deprecated.

It was removed in version 8.0 of the Android Gradle plugin.

Density property injection from Android Studio has been removed.

解决

app/build.gradle

apply plugin: 'com.android.application'

改成

plugins {

id 'com.android.application'

}

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0. FAILURE: Build failed with an exception.

  • What went wrong:
    A problem occurred configuring project ':app'.

Failed to notify project evaluation listener.

'org.gradle.api.file.RegularFileProperty org.gradle.api.file.ProjectLayout.fileProperty(org.gradle.api.provider.Provider)'

  • Try:

    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Get more help at https://help.gradle.org

BUILD FAILED in 46s

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.

Use '--warning-mode all' to show the individual deprecation warnings.

See https://docs.gradle.org/6.8/userguide/command_line_interface.html#sec:command_line_warnings

解决

build.gradle

buildscript {

apply from: 'dependencies.gradle'

dependencies {

classpath gradlePlugins.android

}

}

改成

dependencies {

classpath 'com.android.tools.build:gradle:7.1.1'

}

Failed to apply plugin 'com.android.internal.version-check'.

Failed to apply plugin 'com.android.internal.version-check'. Minimum supported Gradle version is 7.2. Current version is 6.8. If using the gradle wrapper, try editing the distributionUrl in xx/gradle/wrapper/gradle-wrapper.properties to gradle-7.2-all.zip

解决

删除.idea .gradle

点击Android studio中的 File->Invalidate cache删除cache

如果不存在gradle/wrapper/gradle-wrapper.properties

则创建此目录mkdir -p gradle/wrapper

并新建 gradle/wrapper/gradle-wrapper.properties

如果存在则直接修改

distributionBase=GRADLE_USER_HOME

distributionPath=wrapper/dists

zipStoreBase=GRADLE_USER_HOME

zipStorePath=wrapper/dists

distributionUrl=https://services.gradle.org/distributions/gradle-7.2-all.zip

Could not get unknown property 'versions' for extension 'android' of type

Could not get unknown property 'versions' for extension 'android' of type com.android.build.gradle.internal.dsl.BaseAppModuleExtension.

解决

修改app/build.gradle文件中的compileSdkVersion versions.compileSdk为compileSdkVersion 28

Could not get unknown property 'libraries' for object of type

Could not get unknown property 'libraries' for object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

解决

修改app/build.gradle

这行compile libraries.supportAppCompat

改为

implementation('com.android.support:support-v4:23.0.+')

Could not find method compile() for arguments directory 'libs' on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandle

org.gradle.internal.metaobject.AbstractDynamicObject$CustomMessageMissingMethodException: Could not find method compile() for arguments directory 'libs' on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandle

解决

build.gradle中

compile fileTree(include: '*.jar', dir: 'libs')
改为
implementation fileTree(dir: "libs", include: "*.jar")

SDK Build Tools version (28.0.3) is ignored

The specified Android SDK Build Tools version (28.0.3) is ignored, as it is below the minimum supported version (30.0.3) for Android Gradle Plugin 7.1.1.

Android SDK Build Tools 30.0.3 will be used.

解决

app/build.gradle中

buildToolsVersion '28.0.3'

改为

buildToolsVersion "30.0.3"

错误: 程序包android.support.v7.app不存在

程序包android.support.v7.app不存在 import android.support.v7.app.NotificationCompat;

错误: 程序包android.support.v4.app.NotificationCompat不存在

解决

app/build.gradle的dependencies中添加

implementation('com.android.support:support-v4:23.0.+')

找不到符号 ContextCompat.startForegroundService

找不到符号

ContextCompat.startForegroundService(context,todayStepIntent);

符号: 方法 startForegroundService(Context,Intent)

位置: 类 ContextCompat

解决

代码ContextCompat.startForegroundService(context,todayStepIntent);改成

context.startForegroundService(todayStepIntent);

AAPT: error: style attribute 'attr/colorPrimary

ERROR:TodayStepCounter/app/src/main/res/values/styles.xml:4:5-9:13: AAPT: error: style attribute 'attr/colorPrimary (aka com.example.android.todaystepcounter:attr/colorPrimary)' not found.

解决

app/build.gradle中加

implementation 'com.android.support:appcompat-v7:26.1.0'

注意如果是比较旧的安卓程序,有些代码比较旧只能用v7:26.1.0,不能用

implementation 'com.android.support:appcompat-v7:28.0.0'

作者:帅得不敢出门 csdn原创谢绝转载

相关推荐
用户860225046747212 小时前
Android DEX 内存 Dump 全流程实战:从 APK 提取到无特征内存盲扫
android
杉氧15 小时前
兼容与共生:如何在旧项目中优雅地引入 Compose?
android·架构·android jetpack
Flynt15 小时前
Room 3.0 包名重构 + KMP 迁移:我把项目升级踩了个遍
android·数据库·kotlin
杉氧16 小时前
性能优化实战:如何定位冗余重组并榨干 Compose 的每一帧性能?
android·架构·android jetpack
阿pin17 小时前
Android随笔-ATMS与AMS区别与联系
android·ams·atms
alexhilton1 天前
将应用迁移到Navigation 3:痛点、加班和紧急修复
android·kotlin·android jetpack
杉氧1 天前
Navigation Compose 深度实践:如何优雅地串联起你的全栈 App?
android·架构·android jetpack
雨白1 天前
指针与数组的核心机制
android
黄林晴2 天前
Room 3.0 正式发布!包名彻底重构,KMP 成为核心主线
android·android jetpack
三少爷的鞋2 天前
Kotlin 协程环境下的 DCL 懒加载:别把线程时代的经验直接搬过来
android