Google Instant Apps is a feature that allows users to "stream" parts of existing Android applications so they can try the app out in its native look without having to install the app. Instant Apps requires small modifications from the developers' end, but once approved by Google to implement these changes these applications will be able to reach a wider audience as users organically share links to their friends and family. Instant Apps was initially introduced during Google I/O 2016 but it was only until January of this year that a few devices and a few apps could take advantage of Instant Apps.

However, with the release of Google Play Store v7.8.15, Instant Apps may start to see a wider release. In an APK teardown of this release, we've discovered new strings and an Activity that will allow users to opt in to Instant Apps.

Although an APK teardown can often predict features that may arrive in a future update of an application, it is possible that any of the features we mention here may not make it in a future release. This is because these features are currently unimplemented in the live build and may be pulled at any time by Google in a future build.


Play Store 7.8.15 APK Teardown

As usual, we can find evidence of new features by seeing what strings have been added to the APK file. In this case, we can see that the Google Play Store will add support for choosing which of your Google accounts to use with Instant Apps.

Judging by what's in these strings, Instant Apps will be an opt out process. Publishers whose apps support the Instant Apps service may show a special indicator in the Play Store that their app supports the service, too.

In addition, there are several XML files within the APK that define how the Instant Apps settings screen will appear to the user. These files are named instant_apps_settings_account_row.xml, instant_apps_settings.xml, and instant_apps_settings_menu.xml.

[tabs][tab title ="instant_apps_settings_account_row.xml"]

        <?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:orientation="horizontal" android:background="?android:selectableItemBackground" android:paddingLeft="@dimen/instant_apps_settings_account_list_row_padding_left" android:paddingTop="@dimen/instant_apps_settings_account_list_row_padding_top" android:paddingRight="0.0dip" android:paddingBottom="@dimen/instant_apps_settings_account_list_row_padding_bottom" android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingStart="@dimen/instant_apps_settings_account_list_row_padding_left" android:paddingEnd="0.0dip"
xmlns:andro>
<TextView android:textAppearance="@android:style/TextAppearance.Material.Subhead" android: android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_weight="1.0" android:labelFor="@id/account_selected" />
<RadioButton android: android:layout_width="wrap_content" android:layout_height="wrap_content" style="@android:style/Widget.Material.CompoundButton.RadioButton" />
</LinearLayout>

[/tab][tab title ="instant_apps_settings.xml"]

        <?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:orientation="vertical" android: android:layout_width="fill_parent" android:layout_height="fill_parent" android:divider="?android:dividerHorizontal"
xmlns:andro xmlns:app="http://schemas.android.com/apk/res-auto">
<android.support.v7.widget.Toolbar android:theme="@style/ThemeOverlay.AppCompat.ActionBar" android: android:background="?colorPrimary" android:layout_width="fill_parent" android:layout_height="?actionBarSize" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
<android.support.v7.widget.RecyclerView android: android:paddingTop="@dimen/instant_apps_settings_account_list_padding_top" android:paddingBottom="@dimen/instant_apps_settings_account_list_padding_bottom" android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingStart="?android:listPreferredItemPaddingStart" android:paddingEnd="?android:listPreferredItemPaddingEnd" app:layoutManager="android.support.v7.widget.LinearLayoutManager" />
<TextView android: android:paddingTop="@dimen/instant_apps_settings_description_padding_top" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/instant_apps_settings_description" android:drawablePadding="@dimen/instant_apps_settings_description_drawable_padding" android:paddingStart="@dimen/instant_apps_settings_description_padding_start" android:paddingEnd="@dimen/instant_apps_settings_description_padding_end" />
</LinearLayout>

[/tab][tab title ="instant_apps_settings_menu.xml"]

        <?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:andro xmlns:finsky="http://schemas.android.com/apk/res-auto">>
<item android:icon="@drawable/ic_help" android: android:title="@string/instant_app_settings_menu_help" finsky:showAsAction="ifRoom" />
</menu>

[/tab]

[/tabs]

Finally, since the Instant Apps Activity itself is accessible if you manually launch the right intent, we were able to start it to see what it would look like. Here's a screenshot of the Instant Apps account selection screen where you can pick which account will store app data and make payments associated with Instant Apps.


I’ll continue digging around and update this article if I find anything interesting in the live build, or through an APK teardown. If you are looking for this latest release of the Google Play Store app, you can download it right now over at APKMirror. Follow our APK Teardown tag for more articles like this!