在 运行 即时应用程序一次后无法安装普通应用程序(安装失败,原因是:“-27”)
Cant install normal app after running instant app once (Installation failed due to: '-27')
我想达到的目标
一个 android 项目,由一个普通应用程序和一个即时应用程序版本组成,后者将是普通应用程序的演示版本。
问题
全新 emulator/device 我 可以 运行 该应用程序没有任何问题。我也 可以 运行 在卸载普通应用程序后没有任何问题的即时应用程序。 但是 运行在设备上安装免安装应用程序后,我无法安装普通应用程序。唯一有帮助的是擦除模拟器上的数据。
这是我收到的错误:
08/10 17:25:12: Launching 'app' on Pixel 3a API 27.
Installation did not succeed.
The application could not be installed.
List of apks:
[0] '/<path-to-project/instant/app/build/outputs/apk/debug/app-debug.apk'
Installation failed due to: '-27'
Retry
我目前有什么
基于此处 google 示例 InstantApps Google samples 我创建了一个新项目并添加了一个 Instant dynamic feature module
。
所以我的项目有以下结构:
-app/manifest/AndroidManifest.xml
-app/<packagname>/MainActivity
-instant/manifest/AndroidManifest.xml
-instant/<packagname>/InstantActivity
instant/manifest/AndroidManifest.xml
的片段:
<dist:module
dist:instant="true"
dist:title="@string/title_instant">
<dist:delivery>
<dist:install-time />
</dist:delivery>
<dist:fusing dist:include="false" />
</dist:module>
<application android:allowBackup="false">
<activity android:name=".InstantActivity">
<intent-filter
android:autoVerify="true"
android:order="2">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:host="com.farmdok.multi.instant" />
<data android:pathPrefix="/instant" />
<data android:scheme="https" />
<data android:scheme="http" />
</intent-filter>
</activity>
</application>
那个新项目的完整代码在我的 github 上:InstantAppTest
这就是我 运行 普通应用程序的方式:
这就是我 运行 即时应用程序的方式:
我设法通过 adb 安装应用程序找到了问题:
adb install -r -t --full <installed-app.apk>
这给了我更详细的错误信息:
adb: failed to install app-debug.apk: Failure [-27: Package <packagename>.instantapp new target sandbox 1 is incompatible with the previous value of2.]
所以我只需要添加:
android:targetSandboxVersion="2"
到app
的Manifest
我想达到的目标
一个 android 项目,由一个普通应用程序和一个即时应用程序版本组成,后者将是普通应用程序的演示版本。
问题
全新 emulator/device 我 可以 运行 该应用程序没有任何问题。我也 可以 运行 在卸载普通应用程序后没有任何问题的即时应用程序。 但是 运行在设备上安装免安装应用程序后,我无法安装普通应用程序。唯一有帮助的是擦除模拟器上的数据。
这是我收到的错误:
08/10 17:25:12: Launching 'app' on Pixel 3a API 27.
Installation did not succeed.
The application could not be installed.
List of apks:
[0] '/<path-to-project/instant/app/build/outputs/apk/debug/app-debug.apk'
Installation failed due to: '-27'
Retry
我目前有什么
基于此处 google 示例 InstantApps Google samples 我创建了一个新项目并添加了一个 Instant dynamic feature module
。
所以我的项目有以下结构:
-app/manifest/AndroidManifest.xml
-app/<packagname>/MainActivity
-instant/manifest/AndroidManifest.xml
-instant/<packagname>/InstantActivity
instant/manifest/AndroidManifest.xml
的片段:
<dist:module
dist:instant="true"
dist:title="@string/title_instant">
<dist:delivery>
<dist:install-time />
</dist:delivery>
<dist:fusing dist:include="false" />
</dist:module>
<application android:allowBackup="false">
<activity android:name=".InstantActivity">
<intent-filter
android:autoVerify="true"
android:order="2">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:host="com.farmdok.multi.instant" />
<data android:pathPrefix="/instant" />
<data android:scheme="https" />
<data android:scheme="http" />
</intent-filter>
</activity>
</application>
那个新项目的完整代码在我的 github 上:InstantAppTest
这就是我 运行 普通应用程序的方式:
这就是我 运行 即时应用程序的方式:
我设法通过 adb 安装应用程序找到了问题:
adb install -r -t --full <installed-app.apk>
这给了我更详细的错误信息:
adb: failed to install app-debug.apk: Failure [-27: Package <packagename>.instantapp new target sandbox 1 is incompatible with the previous value of2.]
所以我只需要添加:
android:targetSandboxVersion="2"
到app
的Manifest