如何查找 android 应用程序是由 AndroidOS 还是 ChromeOS 的 android 容器启动的?

How to find if android app is started by AndroidOS or ChromeOS's android container?

ChromeOS 已开始支持 Android 个应用程序。 https://developer.android.com/topic/arc/optimizing

Android apps when 运行 within ChromeOS 需要一系列优化,这些优化仅适用于 运行 in chrome 环境中的应用程序。

谢谢

是否可以为 Android 和 chrome 使用相同的应用程序 APK 文件,或者应该有单独的 APK 文件?

是的,如果您没有任何在 ChromeOS 上不可用的特殊功能,则可以对 AndroidChromeOS 使用相同的 apk。无需创建单独的 APK。

Device Support:

You can use the Google Play Store to install Android apps on several Google Chromebooks. This document describes the Chromebooks, Chromeboxes, and Chromebases that can install Android apps, both currently and in upcoming releases of Chrome OS.

如果您的应用具有 ChromeOS 上不可用的任何功能,则该应用将不会在 ChromeOS 的 PlayStore 上可用,即从 ChromeOS 起您将无法在 PlayStore 上查看该应用程序。

App manifest compatibility for Chromebooks:

As you prepare your Android app to run on Chromebooks, you should consider the device features that your app uses. Chromebooks don't support all of the hardware and software features that are available on other devices running Android. If your app requires specific features that aren't supported on Chromebooks, it won't be available for installation on Chromebooks.

是否可以在应用内以编程方式区分环境(Android 或 ChromeOS)?

是的,可以使用以下代码在 ChromeOS 上检查应用是否 运行:

context.getPackageManager().hasSystemFeature("org.chromium.arc.device_management");