From 9cd48bb447eb7dd10dc29ed311ac8efe4f3e4ddf Mon Sep 17 00:00:00 2001 From: Kevin Hufnagle Date: Thu, 28 Jul 2016 10:20:32 -0700 Subject: [PATCH] docs: Migrated "Android Runtime on Chrome" pages to DAC Bug: 30204612 Change-Id: I02a325100ee7f24bcd87c6f77a0d9e8799bae9a3 --- docs/html/images/topic/arc/sideload_figure_1.jpg | Bin 0 -> 63475 bytes docs/html/topic/arc/device-support.jd | 153 +++++++++ docs/html/topic/arc/index.jd | 398 +++++++++++++++++++++++ docs/html/topic/arc/sideload.jd | 125 +++++++ 4 files changed, 676 insertions(+) create mode 100644 docs/html/images/topic/arc/sideload_figure_1.jpg create mode 100644 docs/html/topic/arc/device-support.jd create mode 100644 docs/html/topic/arc/index.jd create mode 100644 docs/html/topic/arc/sideload.jd diff --git a/docs/html/images/topic/arc/sideload_figure_1.jpg b/docs/html/images/topic/arc/sideload_figure_1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8eb5085041854762ead6e71368d4cb5797d2e579 GIT binary patch literal 63475 zcmeFZ2V7HKvo{(9K|w&JDJ=>jO+ckei;9SVfHYC6f^-3qUZWx+H6kJcLKLKzh;#%Z zH6kLtNGJ53P(nhIoxAZZ=RMEkckX+>d(J)I{oOaZf7yFy@3q#iHVt&nVIDf_+dK8#?E?(ZSQ=qk-gXV-U9z0I>2;b?}`81hxP?> zxXV1J;Q!Ra7fH7-~;7{!Qs=>?*j+B zp8+J7E(H7?!f<5&(Ua#cF>)B*WfJn_JpVZU{Q=?2B@J9g-MCY-whx~iWaj2McAQt_ zw5XW4gq*yBqS6IrjVqd0wXSLF7@L^hG`n@%-0q&egQJtPi)9icx0fkAd%0cIQWRmx=?bhUiiN>l?sA5&%}J-DK-nHE>><>A4$%;M;l8^`tV z`}YSIPNiqpiUPdrSPYem{W+3oI1a~u+kz1#1}Vr+1bhujgJdt8ld$!@EIMpY`E>1j zzYn7#`MJe(VEr?wS=n)t$vz7*#eg$u`qTHfEGT!4kXb@(VPT+#IpQd-v zF}MUdMy-sDuH7;qx}u|@TPEs4@F}eT8U!OogFO38ETKU(HL#)pryr8?uy!p^O1W+i>MBrC^QSO?`b`jpL6b!KR9VGw|*k#7G(>TwtCC;YX=t zAne#@Z5{+U@4y2VkhnoOH*6s{_zDfu7`I7-#2L~ctbTYqAS$BSfFiaIBhChlasHwt zY{cL*xf6WwkK;!Ckv7R63z;ZJRY> zgtLI@4pRlvZzmlj@DIa={)sfRv~I1Ehz(TLzoz7$6ybkO$-lJZkIMaj>cVB_LzWKh zgLBkslCM*gd)EPB|Bc;Na`UcRT}NFj+V7Nc>yDwMaKSYVN%0d;&R%NqXAKlx0oM)D zyErt^Iwnbj=n54s8%79s-{0jmDp2<+7=wO>+_`a8lZ$_|@YtCl>uucp@Q0DEz!<6H zq?%CqR#$YHXqc)>ZpiD+=3#-lAMk$dAl_=q!47wSuhw0gnEM0My7iTH;i*pkmdXj+ zTyI^CAI=(?Z7b$IMI8vzZWyUcMj=vRStpL!dbM2Lxg${B1ox}n*)<7oEM9{%_k5o( zPsAAN-KO7~uMgt2n)X%My|J(R>Y8|l<_~4B$LX>c*)m?JJ9}N+&lxq61p98(MW@Mm zh7Ix!>o>=CnArX0lZs?%5pgwxpW%{5r0{XKcgmQooM|dEy3i1+InXx$sI?W>Dnu0su1imZe&Ge|WRGReOt^(R+6O=Szjf zAGl5&zQnc01zI2qS2SQ~Pu7M1l)!5NDbl(0BzhVoq9n9$V(Z~V856*-W6}gG35X2i)s`Jh=KsgG{|Iu%?4aujRvWL1F1!>^HIA{fVmv>2R5fC$PqNiV$DFk zKdPz`zE3cELtTc860nQ@E|w9saG^0u?A^XU9#1?qHGG6J#o&nsCw9BURfJp)e#!qd zcJ|OxVgAqsyGDdd(h9=+o89dX0m6Gi3D`#i>IitFn{bc@ z`Ruj#%!R?NrtuYRO|5^srB#~Ds51(mV2tw?+_5#6KqtuTNW<2VK%J7sS1n2<6vtt_ z%Hy*Wfu?-uGZ7jvg3qF<8_pAVkmO3(PD9QQbhaQ3^84D zi55b*`qLv(>MaVPh7T}Z`@D903Gr*-Xk8>^K915LoqV0-Ng5d4+GDx8J&TLwJ{cz4U-^J$ew@KJg7Zgb#HHL@`>H}~SpiHD!+SGHcPe#N*5 zy{ItxR4Tr}F1);KDt_y;`iDN_fT6KK&np);T36=B-&*yzgxpt-63hOr6J;Gq7J|18 z11#{p5)KKU$lVe>F*p|UK^8i-Zj+40nW324d0LAU zT)&!6>kSkp)1Un&eu%L%uhn%UhEVuEV#lgDBrJ|>4>!B{XR0%OE)hpR&lHk)a?+Ia7YZ|=RCG0u0Zg8_PD=h)>-7b-{r(fHGUOXpdSq3Xn%0DD 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 NYTKWxap2!({x8%XOt1g| literal 0 HcmV?d00001 diff --git a/docs/html/topic/arc/device-support.jd b/docs/html/topic/arc/device-support.jd new file mode 100644 index 000000000000..89cb02fefed9 --- /dev/null +++ b/docs/html/topic/arc/device-support.jd @@ -0,0 +1,153 @@ +page.title=Chrome OS Device Support for Apps +@jd:body + +
+
+

On this page

+ +
    +
  1. Overview
  2. +
  3. Supported Platforms
  4. +
+
+
+ +

+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. +

+ +

Overview

+ +

+The same Android apps that run on phones and tablets can run on Chromebooks +without compromising their speed, simplicity, or security. To develop the best +experience for Android apps across Chromebooks, you should test your app on a +suite of devices that consists of the following categories: +

+ +
    +
  • + ARM architecture. +
  • +
  • + Intel x86 architecture. +
  • +
  • + Touch. +
  • +
  • + Non-touch (uses fake-touch). +
  • +
  • + Convertible. +
  • +
+ +

To learn more about Google Play Store support on Chromebooks, see the +following +Google Chrome blog post. +

+ +

Note: You may elect to exclude your app from +being available to Chromebooks. For more information, visit +View & restrict your app's compatible devices. +

+ +

+The following section lists the Chromebooks that work with Android apps and the +categories that each device satisfies. +

+ +

Supported Platforms

+ +

+Android apps are not available on every Chromebook, but Google continues to +evaluate more devices based on a range of factors, such as processor type, GPU, +and drivers. The following table shows the platforms that currently support +Android apps: +

+ +

+ Table 1. Chromebooks that currently support Android apps.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ManufacturerModelArchitectureTouchscreen supportConvertible
AcerChromebook R11 / C738TIntel x86YesYes
AsusChromebook FlipARMYesYes
GoogleChromebook Pixel (2015)Intel x86YesNo
+ +

+The following list shows the platforms that will support Android apps in an +upcoming release of Chrome OS: +

+ +
    +
  • Acer: Chromebook 11 C740, Chromebook 11 CB3-111 / C730 / + C730E / CB3-131, Chromebook 14 CB3-431, Chromebook 14 for Work, Chromebook + 15 CB5-571 / C910, Chromebook 15 CB3-531, Chromebox CXI2, Chromebase 24 +
  • +
  • Asus: Chromebook C200, Chromebook C201, + Chromebook C202SA, Chromebook C300SA, Chromebook C300, Chromebox CN62, + Chromebit CS10
  • +
  • AOpen: Chromebox Commercial, + Chromebase Commercial 22"
  • +
  • Bobicus: Chromebook 11
  • +
  • CDI: eduGear Chromebook K Series, + eduGear Chromebook M Series, eduGear Chromebook R Series
  • +
  • CTL: Chromebook J2 / J4, N6 Education Chromebook, + J5 Convertible Chromebook
  • +
  • Dell: Chromebook 11 3120, Chromebook 13 7310
  • +
  • Edxis: Chromebook, Education Chromebook
  • +
  • Haier: Chromebook 11, Chromebook 11e, Chromebook 11 G2 +
  • +
  • Hexa: Chromebook Pi
  • +
  • HiSense: Chromebook 11
  • +
  • Lava: Xolo Chromebook
  • +
  • HP: Chromebook 11 G3 / G4 / G4 EE, Chromebook 14 G4, + Chromebook 13
  • +
  • Lenovo: 100S Chromebook, N20 / N20P Chromebook, + N21 Chromebook, ThinkCentre Chromebox, ThinkPad 11e Chromebook, + N22 Chromebook, Thinkpad 13 Chromebook, Thinkpad 11e Chromebook Gen 3
  • +
  • Medion: Akoya S2013, Chromebook S2015
  • +
  • M&A: Chromebook
  • +
  • NComputing: Chromebook CX100
  • +
  • Nexian: Chromebook 11.6"
  • +
  • PCMerge: Chromebook PCM-116E
  • +
  • Poin2: Chromebook 11
  • +
  • Samsung: Chromebook 2 11" - XE500C12, Chromebook 3
  • +
  • Sector 5: E1 Rugged Chromebook
  • +
  • Senkatel: C1101 Chromebook
  • +
  • Toshiba: Chromebook 2, Chromebook 2 (2015)
  • +
  • True IDC: Chromebook 11
  • +
  • Viglen: Chromebook 11
  • +
diff --git a/docs/html/topic/arc/index.jd b/docs/html/topic/arc/index.jd new file mode 100644 index 000000000000..d46fbc89ac59 --- /dev/null +++ b/docs/html/topic/arc/index.jd @@ -0,0 +1,398 @@ +page.title=Optimizing Apps for Chromebooks +@jd:body + + + +

+Google Chromebooks now support the Google Play Store and Android apps. This +document describes some ways that you can optimize your Android apps for +Chromebooks. +

+ +

Update Your App's Manifest File

+ +

+To begin optimizing your Android app for Chromebooks, update your manifest file +(AndroidManifest.xml) to account for some key hardware and software +differences between Chromebooks and other devices running Android. +

+ +

+As of Chrome OS version M53, all Android apps that don't explicitly require the +android.hardware.touchscreen +feature will also work on Chrome OS devices that support the +android.hardware.faketouch feature. However, if you want your app +to work on all Chromebooks in the best possible way, go to your manifest file +and adjust the settings so that the android.hardware.touchscreen +feature is not required, as shown in the following example. You should also +review your mouse and keyboard interactions. +

+ +
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+          ... >
+    <!-- Some Chromebooks don't support touch. Although not essential,
+         it's a good idea to explicitly include this declaration. -->
+    <uses-feature android:name="android.hardware.touchscreen"
+                  required="false" />
+</manifest>
+
+ +

+Different devices often have different sensors available in them. See the Sensors +Overview document for an overview of all sensors that the Android platform +supports. Although Android handheld devices may have GPS and accelerometers, +sensors are not guaranteed to be available in every Chromebook. However, there +are cases where the functionality of a sensor is provided in another way. For +example, Chromebooks may not have GPS sensors, but they still provide location +data based on Wi-Fi connections. If you want your app to run on Chromebooks, +regardless of sensor support, you should update your manifest file so that none +of the sensors are required. +

+ +

Note: If you don't require a particular sensor +for your app but still use measurements from the sensor when it's available, +make sure you dynamically check for the sensor's availability before trying to +gather information from it in your app. +

+ +

+Some software features are unsupported on Chromebooks. For example, apps that +provide custom IMEs, app widgets, live wallpapers, and app launchers aren't +supported and won't be available for installation on Chromebooks. For a complete +list of software features that aren't currently supported on Chromebooks, see incompatible +software features. +

+ +

Leverage Support for Multi-Window Mode

+ +

+The implementation of Android apps on Chrome OS includes basic multi-window +support. Instead of automatically drawing over the full screen, Android renders +apps on Chrome OS into layouts that are appropriate for this form factor. Google +provides support for the most common window layouts: + +

    +
  • + Portrait – Similar to Nexus 5. +
  • +
  • + Landscape – Similar to Nexus 7. +
  • +
  • + Maximized – Uses all available screen pixels. +
  • +
+ +

+In addition, end users are presented with window controls to toggle among all +available layouts. By choosing the correct orientation option, you can ensure +that the user has the correct layout upon launching the app. If an app is +available in portrait and landscape, it defaults to landscape if possible. After +this option is set, it is remembered on a per-app basis. Google recommends that +you test your app to ensure that it handles changes in window size +appropriately. +

+ +

Support the Keyboard, Trackpad, and Mouse

+ +

+All Chromebooks have a physical keyboard and a trackpad, and some Chromebooks +have a touchscreen as well. Some devices can even convert from a laptop to a +tablet. +

+ +

+Many existing apps already support mouse and trackpad interactions with no extra +work required. However, it's always best to adjust your app's behavior +appropriately when users interact with it using a trackpad instead of a +touchscreen, and you should support and distinguish between both interfaces +properly. Given the support for physical keyboards, you can now provide hotkeys +to enable your app's users to be more productive. For example, if your app +supports printing, you can use Ctrl+P to open a print dialog. +

+ +

Use Backup and Restore Effectively

+ +

+One of the strongest features of Chromebooks is that users can easily migrate +from one device to another. That is, if someone stops using one Chromebook and +starts using another, they simply have to sign in, and all of their apps appear. +

+ +

Tip: Although it's not mandatory, backing up +your app's data to the cloud is a good idea. +

+ +

+Chromebooks can also be shared among a large number of people, such as in +schools. Since local storage is not infinite, entire accounts—together +with their storage—can be removed from the device at any point. For +educational settings, it's a good idea to keep this scenario in mind. +

+ +

Update the NDK Libraries

+ +

+If your app uses the Android NDK libraries, and its target SDK version is 23 or +higher, ensure that text relocations are removed from both the ARM and x86 +versions of your NDK libraries, as they're not compatible in Android 6.0 (API +level 23) and higher. By leaving text relocations in your NDK libraries, you may +also cause incompatibility errors with Chromebooks, especially when running on +a device that uses an x86 architecture. +

+ +

Note: To view more details on updating NDK +libraries properly, see the +Runtime section of the Android 6.0 Changes document. +

+ +

Plan Support for New Android Features

+ +

+Android apps on Chromebooks initially ship with APIs for Android 6.0 (API level +23). By following the best practices outlined above, your app is likely to be +compatible with the multi-window improvements introduced in Android 7.0 (API +level 24). It's good to plan support for the APIs and behaviors available as of +Android 7.0, which feature several improvements. For example, multi-window +support is better integrated, and you're able to resize activities arbitrarily, +making them feel more natural. You can also access APIs for drag-and-drop +operations across apps and mouse cursor control. +

+ +

Test Your App

+ +

+To load your app onto your +Chromebook for testing, you must enter Developer mode on your Chrome OS +device and enable unknown sources. See the +Putting your Chrome OS Device into Developer Mode document for detailed +instructions about moving your device into Developer mode. After your device is +in Developer mode, you can go to your Chrome settings and select Enable +Unknown Sources under the security in app settings. +

+ +

+After enabling Developer mode, you can load an Android app onto your Chrome OS +device using one of several methods. For more details, see the Load Your App section of +the Loading Apps on Chromebooks page. +

+ +

Note: To ensure that your Android app works +well on a variety of Chromebook devices and available form factors, Google +recommends that you test your app on an ARM-based Chromebook, an x86-based +Chromebook, a device with a touchscreen and one without one, and on a +convertible device (one that can change between a laptop and a tablet). To view +the full list of supported devices, see the Chrome OS Device Support for +Apps page.

+ +

Set Up ADB

+ +

+Before attempting to set up an ADB connection, you must start your Chrome OS in + +Developer Mode so that you have the ability to install Android apps on the +Chromebook. +

+ +

Caution: After switching your Chrome OS +device to Developer mode, it restarts and clears all existing data on the +device. +

+ +

+To set up ADB, complete the following steps: +

+ +
    +
  1. + Press Ctrl+D to start your device. +
  2. +
  3. + Finish the setup process. +
  4. +
  5. + Log into your test account. +
  6. +
  7. + Accept the Google Play Store terms and service conditions. +
  8. +
+ +

Configure the firewall

+ +

+To configure the Chrome OS firewall to allow incoming ADB connections, complete +the following steps: +

+ +
    +
  1. + Press Ctrl+Alt+T to start the Chrome OS terminal. +
  2. +
  3. + Type shell to get to the bash command shell: +
    +crosh> shell
    +chronos@localhost / $
    +
    +
  4. +
  5. + Type the following commands to set up developer features and enable + disk-write access for the firewall settings changes: +
    +chronos@localhost / $ sudo /usr/libexec/debugd/helpers/dev_features_rootfs_verification
    +chronos@localhost / $ sudo reboot
    +
    + The sudo reboot command restarts your Chromebook. +

    Note: You can press the Tab +key to enable autocompletion of file names.

    +
  6. +
  7. + After your device restarts, log in to your test account and type the + following command to enable the secure shell and configure the + firewall properly: +
    +chronos@localhost / $ sudo /usr/libexec/debugd/helpers/dev_features_ssh
    +
    + You can now exit out of the shell. +
  8. +
+ +

Note: You must complete this procedure only +once on your Chromebook.

+ +

Check the IP address of your Chromebook

+ +

+To verify the IP address of your Chromebook, complete the following steps: +

+ +
    +
  1. + Click the clock icon in the bottom-right area of the screen. +
  2. +
  3. + Click Settings. +
  4. +
  5. + The Internet Connection section in the Settings area lists all of + the available networks. Select the one that you want to use for ADB. +
  6. +
  7. + Take note of the IP address that appears. +
  8. +
+ +

Enable ADB debugging

+ +

+To enable ADB debugging, complete the following steps: +

+ +
    +
  1. + Click the clock icon in the bottom-right area of the screen. +
  2. +
  3. + Click Settings. +
  4. +
  5. + In the Android Apps section, click the Settings + link in the line that reads Manage your Android apps in Settings. + This brings up the Android apps settings. +
  6. +
  7. + Click About device. +
  8. +
  9. + Click Build number seven times to move into Developer mode. +
  10. +
  11. + Click the arrow in the top-left area of the window to go back to the main + Settings screen. +
  12. +
  13. + Click the new Developer options item, activate ADB + debugging, and then click OK to allow ADB + debugging. +
  14. +
  15. + Return to your development machine and use ADB to connect to your + Chromebook's using its IP address and port 22. +
  16. +
  17. + On your Chromebook, click Allow when prompted whether you + want to allow the debugger. Your ADB session is established. +
  18. +
+ +

Troubleshooting ADB debugging

+ +

+Sometimes the ADB device shows that it's offline when everything is connected +properly. In this case, complete the following steps to troubleshoot the issue: +

+ +
    +
  1. + Deactivate ADB debugging in Developer options. +
  2. +
  3. + In a terminal window, run adb kill-server. +
  4. +
  5. + Re-activate the ADB debugging option. +
  6. +
  7. + In a terminal window, attempt to run adb connect. +
  8. +
  9. + Click Allow when prompted whether you want to allow + debugging. Your ADB session is established. +
  10. +
+ +

Additional Learning Materials

+ +

+To learn more about optimizing your Android apps for Chromebooks, consult the +following resources: +

+ + diff --git a/docs/html/topic/arc/sideload.jd b/docs/html/topic/arc/sideload.jd new file mode 100644 index 000000000000..dca84ffc65ca --- /dev/null +++ b/docs/html/topic/arc/sideload.jd @@ -0,0 +1,125 @@ +page.title=Loading Apps on Chromebooks +@jd:body + +
+ +
+ +

+This document describes how to enter Developer mode and enable +unknown resources so that you can load Android apps on your Google +Chromebook. +

+ +

Enter Developer Mode

+ +

+To load Android apps, you must enable unknown sources. Enabling unknown sources +is available only when your device is in Developer mode. +

+ +

Caution: Modifications that you make to the +system are not supported by Google and may void your warranty. Additionally, +modifications may cause hardware, software, or security issues. +

+ +

Note: On most devices, both the +recovery button and the dev-switch button are virtualized. If +these instructions don't work for you, see the +specific instructions for your device. +

+ +

+To enter Developer mode, complete these steps: +

+ +
    +
  1. + Invoke Recovery mode by pressing and holding the + Esc and Refresh (F3) keys, then pressing + the Power button. +
  2. +
  3. + When the Recovery screen appears, press Ctrl+D. + There's no prompt for this action, so you must simply complete it. + Afterwards, you are prompted to confirm and reboot into Developer mode. +
  4. +
+ +

+If you see one of the following screens when you turn on your device, you've +successfully entered Developer mode: +

+ + + +

Figure 1. Developer mode confirmation +screens.

+ +

Note: To skip the OS loading screen, either +wait 30 seconds or press Ctrl+D, and your Chromebook continues +starting. +

+ +

Enable Unknown Sources

+ +

+To enable unknown sources, navigate to Chrome Settings > App Settings > +Security, then enable Unknown sources by moving the +slider to the right. +

+ +

Note:You can enable unknown sources only when +your device is in Developer mode. +

+ +

Load Your App

+ +

+After enabling unknown sources, you can load apps by copying an app's APK file +to the Downloads folder and opening it with Android's File Manager app. + +

+ +

+You can copy the APK file to your Chromebook using one of the following methods: +

+ +
    +
  • + Using a cloud app – Upload your APK file to Google + Drive or send it to yourself via email. Open it with the Android app + equivalent (Drive and Gmail, respectively). +
  • +
  • + Using an external storage device – Transfer the APK + file to the Downloads folder of your Chromebook using a thumb drive, SD + card, or an external hard drive. Afterwards, open the Android File Manager + app by navigating to Chrome Settings > App Settings > Device & + USB > Explore. +
  • +
  • + Using ADB – After setting up ADB on your + Chromebook, enter the following command into a terminal window on your + development workstation: +
    +adb install app-name.apk
    +
    +

    This command pushes the app to your connected Chromebook and installs the + app. For more information about copying and installing apps from a + development computer, see Installing an + Application.

    +
  • +
-- 2.11.0