【问题标题】:updating old app from appcompat 21 to 28 fails将旧应用程序从 appcompat 21 更新到 28 失败
【发布时间】:2019-08-10 11:22:55
【问题描述】:

早上, 我正在尝试更新最初以 sdk 21 为目标构建的旧 android 应用程序。我将其更改为 sdk 28 但是当我更改相应的 appcompat 版本时,我不再有权访问我的应用程序所基于的 ActionBarActivity .

我读到您必须在 sdk 21 之后更改 ActionBarActivity to AppCompatActivity,但这也不起作用。

这是我的 gradle 文件的样子(我知道编译已被贬值,一次只做一件事 :)):

android {
    compileSdkVersion 26
    buildToolsVersion '29.0.1'

    defaultConfig {
        applicationId "com.tacostudios.tacohunter"
        minSdkVersion 21
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        vectorDrawables.useSupportLibrary = true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:26.+'
}

在导入语句中我收到一个错误: 无法解析符号 AppCompatActivity 导入android.support.v7.app.AppCompatActivity;

感谢您的帮助!

【问题讨论】:

  • 尝试迁移到 AndroidX,使用 Refactor > 在 Android Studio 中迁移到 AndroidX。
  • 在 sdk 版本 28 之前无法迁移到 android x,但是当它是 sdk 28 时,应用无法构建。

标签: android sdk android-appcompat


【解决方案1】:

对于其他回到旧项目并且什么都不记得的人,这是我必须执行的项目以使一切正常的顺序:

导入所有缺少的包以运行应用程序。就我而言,只有 2 个。 暂时不要更新 sdk 确保应用程序构建和运行,忽略有关 sdk 版本的警告。 更新 gradle 包 增加sdk版本和appcompat版本 将 actionbaractivity 更改为 appcompatactivity

当我以不同的顺序执行这些操作时(比如先更新 gradle),事情变得很糟糕。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-28
    • 2015-01-07
    • 2016-07-01
    • 2014-02-18
    • 1970-01-01
    • 2020-06-02
    • 1970-01-01
    相关资源
    最近更新 更多