发布即时应用程序时:无效的目标沙箱版本

时间:2017-09-12 14:08:33

标签: android sandbox android-instant-apps

我尝试通过Google Play发布Android即时应用。我可能会关注问题 enter image description here

我尝试通过添加属性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"来修改基本功能,然后即使我清理,重建项目,也无法通过显示的错误进行编译。

enter image description here

2 个答案:

答案 0 :(得分:3)

更新回答:

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

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

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

原始回答:

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

这样做会对您在O设备上安装的应用程序设置一些限制,这使O安装程序可以更轻松地将您的即时应用程序升级到已安装。

答案 1 :(得分:1)

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

    <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