主頁 > 軟體工程 > GooglePlayConsole上傳錯誤資訊:無法根據設備配置宣告不同版本的GooglePlay服務

GooglePlayConsole上傳錯誤資訊:無法根據設備配置宣告不同版本的GooglePlay服務

2022-04-27 14:13:39 軟體工程

將完成的應用程式包上傳到 Google Play 控制臺時,我遇到了一個問題。下載后,我收到此訊息:
“該應用程式無法根據設備配置宣告不同版本的 Google Play 服務。找到以下版本:[0, 12451000]”

該應用程式顯示底部智能橫幅(Google Ads),使用網路,除了演算法之外,它并沒有做更多的事情。

構建.gradle:

ext {
    version = '1.0'
}// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    ext.kotlin_version = '1.6.21'
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.3.0-alpha09'
        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21'
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

構建.gradle:應用程式:

plugins {
    id 'kotlin-android'
    id 'org.jetbrains.kotlin.kapt'
    id 'com.android.application'
}

android {
    ...
    signingConfigs {
        debug {
            ...
        }
        release {
            ...
        }
    }
    compileSdk 32
    buildToolsVersion '30.0.3'
    defaultConfig {
        minSdk 19
        targetSdk 32
        versionName '1.0'
        versionCode 100
        multiDexEnabled true
        ...
    }

    buildFeatures {
        //noinspection DataBindingWithoutKapt
        dataBinding true
        viewBinding true
    }
    buildTypes {
        debug {
            applicationIdSuffix ".debug"
            versionNameSuffix "-debug"
        }
        beta {
            applicationIdSuffix ".beta"
            versionNameSuffix "-beta"
        }
        release {
            applicationIdSuffix ".release"
            versionNameSuffix "-release"
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility "11"
        targetCompatibility "11"
    }
    kotlinOptions {
        jvmTarget = "11"
    }
    ndkVersion '25.0.8221429 rc2'
    flavorDimensions "level"
    productFlavors {
        free {
            ...
            dimension "level"
            versionCode 100
            versionName "1.0"
            targetSdk 32
            minSdk 19
            signingConfig signingConfigs.release
        }
        pro {
            ...
            dimension "level"
            versionCode 100
            versionName "1.0"
            targetSdk 32
            minSdk 19
            signingConfig signingConfigs.release
        }
    }
    sourceSets {
        free {
            java { srcDirs 'src/free/java' }
            res { srcDirs 'src/free/res' }
        }
        pro {
            java { srcDirs 'src/pro/java' }
            res { srcDirs 'src/pro/res' }
        }
    }
    lint {
        checkReleaseBuilds false
    }
    dependenciesInfo {
        includeInApk true
        includeInBundle true
    }
}
dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.1-native-mt'
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.1-native-mt'
    implementation 'androidx.appcompat:appcompat:1.6.0-alpha01'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
    implementation 'io.reactivex.rxjava3:rxjava:3.1.4'
    implementation 'com.google.android.gms:play-services-ads:20.6.0'
    implementation 'com.android.support:multidex:1.0.3'
}
task wrapper(type: Wrapper) {
    gradleVersion = '7.3'
}

AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:ignore="MissingLeanbackLauncher">

    <!-- Need to listen to UDP datagrams -->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

    <!-- For Android S devices & GMA SDK version 20.3.0 or lower -->
    <uses-permission android:name="com.google.android.gms.permission.AD_ID"/>

    <!-- Support Android TV and do not require a touchscreen -->
    <uses-feature
        android:name="android.software.leanback"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.touchscreen"
        android:required="false" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/MyTheme.Blue.SplashScreen">
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="<APP_KEY>" />
        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />
        <activity
            android:name=".ActivitySplash"
            android:exported="true"
            android:theme="@style/MyTheme.Blue.SplashScreen">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <!-- Preference activity -->
        <activity
            android:name=".ActivityMain"
            android:exported="true"
            android:theme="@style/MyTheme.Blue.SplashScreen">
        </activity>
    </application>

</manifest>

我查看過的與該問題相關的鏈接:
無法根據設備配置
宣告不同版本的 Google Play 服務 應用程式無法根據設備配置宣告不同版本的 Google Play 服務 無法宣告不同版本的 Google Play
服務關于設備配置
https://issuetracker.google.com/issues/223240936#comment21
https://issuetracker.google.com/issues/223240936

我做了什么:

  • 深入研究 Gradle 檔案以更好地理解(插件、實作)。老實說,我從來沒有做過這項作業,因為它總是與我剛剛適應的基本 Gradle 一起作業。這是一個調整許多不一致之處的機會(盡管可能仍然存在一些)。
  • 請求谷歌開發者支持(還沒有答案)
  • 當然:清理專案,使現金無效

但我仍然完全陷入困境。我不知道如何解決這個問題。

這是我在這個論壇上的第一篇文章,盡管十多年來一直在深入探索 stackoverflow。直到現在,我一直設法通過在 stackoverflow、其他論壇、檔案上找到解決方案來解決問題。上面的所有鏈接都沒有幫助。

誰能幫我嗎?最好的祝福

uj5u.com熱心網友回復:

編輯:該錯誤現已修復,現在即使使用 7.3.0-* 也應該可以正常作業

目前 Play Console 中存在使用 Android Gradle 插件 7.3.0-alphaXX 構建的應用程式的錯誤。如果您在修復之前恢復到 7.2 0,這應該會解除對您的阻止。

uj5u.com熱心網友回復:

好的,問題(ssssss)似乎解決了。主要的關鍵是@Pierre 對有問題的 Android Gradle 插件 7.0.6-alpha06 的建議,以替換為com.android.tools.build:gradle:7.2.0-rc01( 或 - Epsilon 版本)。當上傳到 Google Play 控制臺時,它顯然解決了上述多個 Google Play 版本的初始問題。
我失去的大部分時間都在 Gradle 中,并且庫包括 build.gradle 語法,與晦澀的錯誤訊息相關聯。作為開發人員,我們確切地知道我們匯入了哪些庫、我們選擇了哪些版本以及為什么。我們要不要?嗯,不,我們大多數人都沒有(從開發人員到經理),除非在某些情況下。我們 100% 專注于我們的應用程式:功能、影像、性能、資料庫、演算法、客戶體驗……IDE 和 Gradle 只是實作目標的一種手段,而不是目標。
Gradle 是一個可以做任何事情的天才工具,即使是由杰出工程師構思的早晨咖啡。但它不是面向最終用戶/開發人員的。我不想了解 Gradle 的全部花里胡哨,我只想打通我的專案開發。
我會為各種型別的專案建議一組可以重用和調整的示例,而不是那些只有幾個專案相關的廣泛參考檔案。
對于遇到以下錯誤的 Google Play 控制臺,我也可以這樣說:

  1. 版本代碼 xxx 已被使用。嘗試另一個版本代碼。:只需增加您的代碼版本(整數格式)
  2. 您的 APK 或 Android App Bundle 需要具有包名稱 xx.xxxxxxx.free.release:您在 app/variant/flavors 前綴中混入了某處
  3. 您的 Android App Bundle 使用錯誤的密鑰進行簽名。: 使用不同鍵多次上傳時拋出。然后你必須找出控制臺“選擇”了哪一個......
  4. Android App Bundle 未簽名。: 表示您嘗試上傳帶有 Debug 標記的捆綁包
  5. 應用無法根據設備配置宣告不同版本的 Google Play 服務。找到了以下版本: [0, 12451000] : gradle 7.0.6-alpha06 庫中的錯誤再次,非常感謝@Pierre 讓我通過。

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/465312.html

標籤:安卓 毕业典礼 谷歌游戏控制台

上一篇:無法從控制臺應用程式呼叫TLS身份驗證的WebAPI轉移到ASP.NETMVCIIS托管應用程式

下一篇:與jenkins并行運行兩種不同的聲納配置。不確定如何使用兩個聲納配置創建build.gradle檔案?

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • Git本地庫既關聯GitHub又關聯Gitee

    創建代碼倉庫 使用gitee舉例(github和gitee差不多) 1.在gitee右上角點擊+,選擇新建倉庫 ? 2.選擇填寫倉庫資訊,然后進行創建 ? 3.服務端已經準備好了,本地開始作準備 (1)Git 全域設定 git config --global user.name "成鈺" git c ......

    uj5u.com 2020-09-10 05:04:14 more
  • CODING DevOps 代碼質量實戰系列第二課,相約周三

    隨著 ToB(企業服務)的興起和 ToC(消費互聯網)產品進入成熟期,線上故障帶來的損失越來越大,代碼質量越來越重要,而「質量內建」正是 DevOps 核心理念之一。**《DevOps 代碼質量實戰(PHP 版)》**為 CODING DevOps 代碼質量實戰系列的第二課,同時也是本系列的 PHP ......

    uj5u.com 2020-09-10 05:07:43 more
  • 推薦Scrum書籍

    推薦Scrum書籍 直接上干貨,推薦書籍清單如下(推薦有順序的哦) Scrum指南 Scrum精髓 Scrum敏捷軟體開發 Scrum捷徑 硝煙中的Scrum和XP : 我們如何實施Scrum 敏捷軟體開發:Scrum實戰指南 Scrum要素 大規模Scrum:大規模敏捷組織的設計 用戶故事地圖 用 ......

    uj5u.com 2020-09-10 05:07:45 more
  • CODING DevOps 代碼質量實戰系列最后一課,周四發車

    隨著 ToB(企業服務)的興起和 ToC(消費互聯網)產品進入成熟期,線上故障帶來的損失越來越大,代碼質量越來越重要,而「質量內建」正是 DevOps 核心理念之一。 **《DevOps 代碼質量實戰(Java 版)》**為 CODING DevOps 代碼質量實戰系列的最后一課,同時也是本系列的 ......

    uj5u.com 2020-09-10 05:07:52 more
  • 敏捷軟體工程實踐書籍

    Scrum轉型想要做好,第一步先了解并真正落實Scrum,那么我推薦的Scrum書籍是要看懂并實踐的。第二步是團隊的工程實踐要做扎實。 下面推薦工程實踐書單: 重構:改善既有代碼的設計 決議極限編程 : 擁抱變化 代碼整潔代碼 程式員的職業素養 修改代碼的藝術 撰寫可讀代碼的藝術 測驗驅動開發 : ......

    uj5u.com 2020-09-10 05:07:55 more
  • Jenkins+svn+nginx實作windows環境自動部署vue前端專案

    前面文章介紹了Jenkins+svn+tomcat實作自動化部署,現在終于有空抽時間出來寫下Jenkins+svn+nginx實作自動部署vue前端專案。 jenkins的安裝和配置已經在前面文章進行介紹,下面介紹實作vue前端專案需要進行的哪些額外的步驟。 注意:在安裝jenkins和nginx的 ......

    uj5u.com 2020-09-10 05:08:49 more
  • CODING DevOps 微服務專案實戰系列第一課,明天等你

    CODING DevOps 微服務專案實戰系列第一課**《DevOps 微服務專案實戰:DevOps 初體驗》**將由 CODING DevOps 開發工程師 王寬老師 向大家介紹 DevOps 的基本理念,并探討為什么現代開發活動需要 DevOps,同時將以 eShopOnContainers 項 ......

    uj5u.com 2020-09-10 05:09:14 more
  • CODING DevOps 微服務專案實戰系列第二課來啦!

    近年來,工程專案的結構越來越復雜,需要接入合適的持續集成流水線形式,才能滿足更多變的需求,那么如何優雅地使用 CI 能力提升生產效率呢?CODING DevOps 微服務專案實戰系列第二課 《DevOps 微服務專案實戰:CI 進階用法》 將由 CODING DevOps 全堆疊工程師 何晨哲老師 向 ......

    uj5u.com 2020-09-10 05:09:33 more
  • CODING DevOps 微服務專案實戰系列最后一課,周四開講!

    隨著軟體工程越來越復雜化,如何在 Kubernetes 集群進行灰度發布成為了生產部署的”必修課“,而如何實作安全可控、自動化的灰度發布也成為了持續部署重點關注的問題。CODING DevOps 微服務專案實戰系列最后一課:**《DevOps 微服務專案實戰:基于 Nginx-ingress 的自動 ......

    uj5u.com 2020-09-10 05:10:00 more
  • CODING 儀表盤功能正式推出,實作作業資料可視化!

    CODING 儀表盤功能現已正式推出!該功能旨在用一張張統計卡片的形式,統計并展示使用 CODING 中所產生的資料。這意味著無需額外的設定,就可以收集歸納寶貴的作業資料并予之量化分析。這些海量的資料皆會以圖表或串列的方式躍然紙上,方便團隊成員隨時查看各專案的進度、狀態和指標,云端協作迎來真正意義上 ......

    uj5u.com 2020-09-10 05:11:01 more
最新发布
  • windows系統git使用ssh方式和gitee/github進行同步

    使用git來clone專案有兩種方式:HTTPS和SSH:
    HTTPS:不管是誰,拿到url隨便clone,但是在push的時候需要驗證用戶名和密碼;
    SSH:clone的專案你必須是擁有者或者管理員,而且需要在clone前添加SSH Key。SSH 在push的時候,是不需要輸入用戶名的,如果配置... ......

    uj5u.com 2023-04-19 08:41:12 more
  • windows系統git使用ssh方式和gitee/github進行同步

    使用git來clone專案有兩種方式:HTTPS和SSH:
    HTTPS:不管是誰,拿到url隨便clone,但是在push的時候需要驗證用戶名和密碼;
    SSH:clone的專案你必須是擁有者或者管理員,而且需要在clone前添加SSH Key。SSH 在push的時候,是不需要輸入用戶名的,如果配置... ......

    uj5u.com 2023-04-19 08:35:34 more
  • 2023年農牧行業6大CRM系統、5大場景盤點

    在物聯網、大資料、云計算、人工智能、自動化技術等現代資訊技術蓬勃發展與逐步成熟的背景下,數字化正成為農牧行業供給側結構性變革與高質量發展的核心驅動因素。因此,改造和提升傳統農牧業、開拓創新現代智慧農牧業,加快推進農牧業的現代化、資訊化、數字化建設已成為農牧業發展的重要方向。 當下,企業數字化轉型已經 ......

    uj5u.com 2023-04-18 08:05:44 more
  • 2023年農牧行業6大CRM系統、5大場景盤點

    在物聯網、大資料、云計算、人工智能、自動化技術等現代資訊技術蓬勃發展與逐步成熟的背景下,數字化正成為農牧行業供給側結構性變革與高質量發展的核心驅動因素。因此,改造和提升傳統農牧業、開拓創新現代智慧農牧業,加快推進農牧業的現代化、資訊化、數字化建設已成為農牧業發展的重要方向。 當下,企業數字化轉型已經 ......

    uj5u.com 2023-04-18 08:00:18 more
  • 計算機組成原理—存盤器

    計算機組成原理—硬體結構 二、存盤器 1.概述 存盤器是計算機系統中的記憶設備,用來存放程式和資料 1.1存盤器的層次結構 快取-主存層次主要解決CPU和主存速度不匹配的問題,速度接近快取 主存-輔存層次主要解決存盤系統的容量問題,容量接近與價位接近于主存 2.主存盤器 2.1概述 主存與CPU的聯 ......

    uj5u.com 2023-04-17 08:20:31 more
  • 談一談我對協同開發的一些認識

    如今各互聯網公司普通都使用敏捷開發,采用小步快跑的形式來進行專案開發。如果是小專案或者小需求,那一個開發可能就搞定了。但對于電商等復雜的系統,其功能多,結構復雜,一個人肯定是搞不定的,所以都是很多人來共同開發維護。以我曾經待過的商城團隊為例,光是后端開發就有七十多人。 為了更好地開發這類大型系統,往 ......

    uj5u.com 2023-04-17 08:18:55 more
  • 專案管理PRINCE2核心知識點整理

    PRINCE2,即 PRoject IN Controlled Environment(受控環境中的專案)是一種結構化的專案管理方法論,由英國政府內閣商務部(OGC)推出,是英國專案管理標準。
    PRINCE2 作為一種開放的方法論,是一套結構化的專案管理流程,描述了如何以一種邏輯性的、有組織的方法,... ......

    uj5u.com 2023-04-17 08:18:51 more
  • 談一談我對協同開發的一些認識

    如今各互聯網公司普通都使用敏捷開發,采用小步快跑的形式來進行專案開發。如果是小專案或者小需求,那一個開發可能就搞定了。但對于電商等復雜的系統,其功能多,結構復雜,一個人肯定是搞不定的,所以都是很多人來共同開發維護。以我曾經待過的商城團隊為例,光是后端開發就有七十多人。 為了更好地開發這類大型系統,往 ......

    uj5u.com 2023-04-17 08:18:00 more
  • 專案管理PRINCE2核心知識點整理

    PRINCE2,即 PRoject IN Controlled Environment(受控環境中的專案)是一種結構化的專案管理方法論,由英國政府內閣商務部(OGC)推出,是英國專案管理標準。
    PRINCE2 作為一種開放的方法論,是一套結構化的專案管理流程,描述了如何以一種邏輯性的、有組織的方法,... ......

    uj5u.com 2023-04-17 08:17:55 more
  • 計算機組成原理—存盤器

    計算機組成原理—硬體結構 二、存盤器 1.概述 存盤器是計算機系統中的記憶設備,用來存放程式和資料 1.1存盤器的層次結構 快取-主存層次主要解決CPU和主存速度不匹配的問題,速度接近快取 主存-輔存層次主要解決存盤系統的容量問題,容量接近與價位接近于主存 2.主存盤器 2.1概述 主存與CPU的聯 ......

    uj5u.com 2023-04-17 08:12:06 more