【问题标题】:Android Studio 3.0 Canary 2: attribute 'android:versionCode' not foundAndroid Studio 3.0 Canary 2:找不到属性“android:versionCode”
【发布时间】:2017-10-28 18:38:06
【问题描述】:

我已将 Android Studio 更新到最新的 Canary 版本,但现在我无法运行我的应用。

每次我尝试构建项目时都会收到以下错误:

Error:F:\...\**app_name**\app\build\intermediates\instant-run-support\debug\slice_0\AndroidManifest.xml:2 attribute 'android:versionCode' not found

我尝试手动打开文件,属性明显存在:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="****"
      android:versionCode="1"
      android:versionName="1.0"
      split="lib_slice_0_apk">
</manifest>

我尝试清理项目,使缓存无效,重新启动 android studio 但没有任何帮助。

这是我的build.gradle (app) 文件:

apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.3"
    defaultConfig {
        applicationId "****"
        minSdkVersion 16
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
    compile 'com.android.support:appcompat-v7:25.3.1'
    testCompile 'junit:junit:4.12'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'com.android.support:design:25.3.1'
    compile 'com.android.support:cardview-v7:25.3.1'
    compile 'com.squareup.picasso:picasso:2.5.2'
}

【问题讨论】:

  • 我也有同样的问题!
  • 升级后山姆问题
  • 添加到清单对我有用 package="..." android:versionCode="1" android:versionName="1.0" > 无需禁用 InstantRun
  • 即使我将versionCodeversionName 明确添加到&lt;manifest&gt;,我有时也会收到错误消息。然后在 Gradle 项目 视图中点击 Refresh all gradle projects 帮助

标签: android-studio android-studio-3.0


【解决方案1】:

我遇到了同样的问题。所以我尝试了android studio的稳定版2.3.1。然后有一个问题,如果我要使用Android studios SDK,我选择这个。

尝试运行应用,出现 Gradle 错误,要求最低 Android Studio 3.0。

我再次启动 Android Studio 3.0 C2,关于 SDK 的问题再次出现,但随后应用程序编译并且 versionCode 错误消失了。

【讨论】:

    【解决方案2】:

    对我有用的是进入我的项目文件夹,并删除“build”文件夹,以强制 gradle 重新编译所有内容。我还删除了“gradle”文件夹,但不得不手动重新创建它,因为 AS 没有,但我不认为是它修复了它。

    【讨论】:

    • 删除 build 文件夹没有帮助。刚刚试了一下。
    【解决方案3】:

    此问题与 Instant Run 密切相关。解决方法:在 File -> Settings/Preferences 内禁用它。这至少可以让您在 AS 的 Canary 版本中运行您的应用。

    【讨论】:

    • 为我修复了谢谢,我希望有人会向谷歌报告这个问题
    • @LordFlash 是的,我提到过。
    • cmets 的@Viper Alpha 似乎还有另一种选择。不确定他的解决方案是否会影响与项目相关的任何事情。
    【解决方案4】:

    我也一样。我尝试重建项目或稍微更改构建gradle(例如更改版本名称)并同步,然后大部分问题暂时消失了。

    【讨论】:

      【解决方案5】:

      使缓存失效为我完成了这项工作。

      文件 > 使缓存无效并重新启动

      无需禁用 Instant Run 或手动删除任何构建文件夹。

      【讨论】:

      • 即时运行禁用是老兄的解决方案。
      【解决方案6】:

      对我有用的是 robin 和 SamboyCoding 所说的结合。

      1. 从构建菜单清理项目
      2. 从构建菜单重建项目

      然后我可以毫无问题地启动应用程序进行测试。

      【讨论】:

        【解决方案7】:

        清理并重建项目 并重启安卓工作室。 它会起作用的。

        【讨论】:

          【解决方案8】:

          清理和重建后,我禁用了即时运行并重新启用它,错误消失了。

          【讨论】:

            【解决方案9】:

            将 Android studio 更新到 Canary 3。他们解决了问题

            【讨论】:

              【解决方案10】:

              至于 2017 年 6 月 9 日Android Studio 3.0 Canary 3,该错误仍然存​​在。在尝试了所有提到的方法来解决这个问题之后,一个可行的方法是:

              1. 清理项目
              2. 构建项目
              3. 禁用/重新启用即时运行功能 或
              4. 重新加载 Android Studio。

              如果出现错误 - 建议通过 Help > Report Instant Run Issue.. 向 Google 发送报告,还可以在 Groups 中创建错误报告。不要忘记链接这个 StackOverlow 页面 - 可能这样 Google 会快速修复这个烦人的错误。

              【讨论】:

                【解决方案11】:

                在 Android Studio 3.0 Canary 2 中最适合我的解决方法是添加 versionCodeversionName 属性,当错误发生时,我只需将其更改为任何其他值(例如 1.0 到 @ 987654324@ 和返回)。然后应用就可以正常启动了。

                <?xml version="1.0" encoding="utf-8"?>
                <manifest xmlns:android="http://schemas.android.com/apk/res/android"
                          xmlns:tools="http://schemas.android.com/tools"
                          package="com.XXX"
                          android:versionCode="1"
                          android:versionName="1.0">
                

                【讨论】:

                  【解决方案12】:

                  每次我收到以下错误:

                  Error:D:\StudioProjects\yoda\app\build\intermediates\instant-run-support\debug\slice_0\AndroidManifest.xml:2 attribute 'android:versionCode' not found

                  我想删除D:\StudioProjects\yoda\app\build文件夹,然后选择Build\Rebuild Project,一切都会好起来的。

                  【讨论】:

                    【解决方案13】:

                    对我来说,删除项目根文件夹中的 .gradle 文件夹就足够了

                    【讨论】:

                      【解决方案14】:

                      打开清单文件并关闭它。 如果仍然无法正常工作:重建,打开清单文件并关闭它,-> 运行

                      【讨论】:

                        【解决方案15】:

                        这个bug从Android Studio 3.0 Canary 6开始就解决了,只需更新android studio和所有SDK组件并重启Android Studio即可。

                        测试日期:

                        构建 #AI-171.4163606,构建于 2017 年 7 月 7 日 JRE:1.8.0_152-release-884-b01 amd64 JVM:JetBrains s.r.o 的 OpenJDK 64 位服务器 VM 视窗 10 10.0

                        【讨论】:

                          猜你喜欢
                          • 2017-10-28
                          • 2017-11-01
                          • 1970-01-01
                          • 1970-01-01
                          • 2018-04-12
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          相关资源
                          最近更新 更多