我正在尝试使用Google样本构建即时应用示例。
我正在使用Android Studio 3.0 beta 2和带有Android 8.0.0版本的Nexus 5x真实设备。
我使用的源代码是Github google samples project - android-instant-apps/hello-java。 我在此源代码中更改的唯一内容是我的网站链接和应用程序ID。
我在prod频道的Google Play上发布了此应用,现在可供所有用户使用。我也为这个应用程序发布了一个即时应用程序(也是prod频道)。
但是当我点击链接时它没有打开,而是在Chrome浏览器中打开。 我知道我的设备已启用即时应用设置,可以打开其他链接作为即时应用,例如buzzfeed。
当我尝试打开链接时,我可以在logcat中看到它:
10-11 10:39:29.336 3588-4026/? I/ActivityManager: START u0 {act=android.intent.action.VIEW dat=https://instant.isdev.info/... cmp=com.android.chrome/com.google.android.apps.chrome.Main (has extras)} from uid 10097
10-11 10:39:29.483 18862-18862/? I/cr_InstantAppsHandler: Disabled for Android O+
10-11 10:39:29.488 3588-18005/? I/ActivityManager: START u0 {act=android.intent.action.VIEW dat=https://instant.isdev.info/... flg=0x14002000 cmp=com.android.chrome/org.chromium.chrome.browser.ChromeTabbedActivity (has extras)} from uid 10053
我的申请是google play link。
我的网站是link。
我的资源链接json文件是link。它是由Android studio App链接助手使用我的应用程序ID和发布密钥库生成的。
我应该打开即时应用的链接是link。
此链接的清单是:
<data android:scheme="https" />
<data android:scheme="http" />
<data android:host="instant.isdev.info" />
<data android:pathPrefix="/details" />
如果我使用谷歌样本自述文件中的这个adb脚本手动安装它,我的即时应用程序也能正常运行。当我点击我的链接并且应用程序管理器中的设置中标记为Instant Application的应用程序时,它正在打开一个即时应用程序。
cd instant/build/outputs/apk/debug # navigate to build dir
unzip instantapp-debug.zip # extract apks
adb install-multiple -r -t --instantapp *.apk # install apks
# launch entry point; you'll have to replace $(SAMPLE_ENTRY_POINT)
adb shell am start -a android.intent.action.VIEW -c android.intent.category.BROWSABLE -d $(SAMPLE_ENTRY_POINT)
cd - # takes you back to the root directory
我不知道该怎么办。我几乎尝试了一切。正如你所看到的,我甚至发布了prod的应用程序。但它仍然无法正常工作。谢谢你的帮助。