发布 Instant App:Invalid 目标沙盒版本时

When publish Instant App:Invalid target sandbox version

我尝试通过 Google Play 发布 Android Instant App。我可能会遇到以下问题

我尝试通过添加属性 android:targetSandboxVersion = "2" 来解决这个问题,还是不行。

一般来说,问题有这些设置(build.gradle)

buildscript {

    repositories {
        maven { url 'https://maven.google.com' }
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0-beta5'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        maven { url 'https://maven.google.com' }
        jcenter()
        google()
    }
}


ext {
    minSdkVersion = 26
    targetSdkVersion = 26
    compileSdkVersion = 26
    buildToolsVersion = '26.0.1'
    androidSupport = '26.0.0'
    versionCode = 5
    versionName = "1.1"
}

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

======

正如所评论的,我通过添加语句 android:targetSandboxVersion = "2" 来修改基本功能,然后我无法通过显示的错误进行编译,即使我清理,重建项目。

更新的答案:

这是一个错误,现已修复。您不再需要将 targetSandboxVersion 添加到您的可安装应用程序,我不建议这样做,因为该功能尚未在任何地方记录或描述。

当我最初建议添加属性时,我相信文档会在 O phone 发布之前出现。相反,负责添加此验证的团队意识到了他们的错误。

但是,您的免安装应用中仍然需要 targetSandboxVersion。由于我们不允许没有该属性的免安装应用,因此只需将其视为必需的魔术短语即可。


原回答:

如消息所述,您需要在已发布的可安装应用的清单中 targetSandboxVersion

这样做会对您在 O 设备上安装的应用设置一些限制,这使得 O 安装程序更容易将您的即时应用升级为安装。

我遇到了同样的问题,让我头疼了一段时间。解决方案是将 targetSandboxVersion 移动|添加到 AndroidManifest.xml 文件的根元素。例如:

    <manifest android:hardwareAccelerated="true" 
     android:versionCode="20008" android:versionName="2.0.8"  
     package="com.yourapp.id" 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:targetSandboxVersion="2">

Develop > Guides > App Manifest File