Most answers here just mention to download the APK file and install it via adb. But after that i get a dialog about critical functionality missing.

enter image description here

What exactly are the requirements for running Chrome?

Update 1:

AWT answer found one of the requirements, I have to run Google API image instead of a AOSP one.

After that, I stop getting that message, and Chrome just plain open, show the interface, and then crash.

here it is using the latest (downloaded today) google image for API 19.

I/LibraryLoader( 1936): loaded: chromeview
D/dalvikvm( 1918): GC_FOR_ALLOC freed 49K, 3% free 4571K/4712K, paused 94ms, total 263ms
D/dalvikvm( 1918): GC_FOR_ALLOC freed 6K, 3% free 4999K/5144K, paused 62ms, total 99ms
D/dalvikvm( 1918): Added shared lib /data/app-lib/com.android.chrome-1/libchromeview.so 0xb1cfa3c8
I/LibraryLoader( 1918): loaded: chromeview
I/chromium( 1918): [INFO:chrome_library_loader_hooks.cc(156)] Chromium logging enabled: level = 0, default verbosity = 0
I/MemoryUsageMonitor( 1918): Max active tabs = 8
W/BrowserProcessMain( 1918): Excessive maxRendererProcesses value: 7
I/BrowserProcessMain( 1918): Initializing chromium process, renderers=3 hostIsChrome=true
I/chromium( 1918): [INFO:chrome_paths.cc(456)] Registering chrome_paths.cc as a path provider
I/chromium( 1918): [INFO:build_info.cc(96)] BuildInfo instance initialized with device=generic model=google_sdk brand=generic android_build_id=KK android_build_fp=generic/google_sdk/generic:4.4.2/KK/938007:eng/test-keys package_version_code=1025469 package_version_name=18.0.1025469
I/chromium( 1918): [INFO:breakpad_posix.cc(1038)] Dump path: /data/data/com.android.chrome/cache/Crash Reports
V/SyncSetupManager( 1918): Ignoring pref change because user is not signed in to Chrome
D/dalvikvm( 1918): GC_CONCURRENT freed 111K, 4% free 5540K/5732K, paused 20ms+6ms, total 293ms
E/chromium( 1918): [ERROR:user_style_sheet_watcher.cc(164)] Failed to setup watch for /data/data/com.android.chrome/app_chrome/Default/User StyleSheets/Custom.css
W/com.google.android.apps.chrome.NewTabPageUtil( 1918): Unable to determine NTP
section: chrome://newtab/
D/SandboxedProcessLauncher( 1918): Setting up connection to process: slot=0
D/SandboxedProcessLauncher( 1918): on connect callback, pid=1936 context=-1200784872
I/chromium( 1936): [INFO:chrome_library_loader_hooks.cc(156)] Chromium logging enabled: level = 0, default verbosity = 0
I/ActivityManager(  391): START u0 {flg=0x4000000 cmp=com.android.chrome/com.google.android.apps.chrome.firstrun.FirstRunExperienceActivityPhone} from pid 1918
I/chromium( 1936): [INFO:build_info.cc(96)] BuildInfo instance initialized with device=generic model=google_sdk brand=generic android_build_id=KK android_build_fp=generic/google_sdk/generic:4.4.2/KK/938007:eng/test-keys package_version_code=1025469 package_version_name=18.0.1025469
I/chromium( 1936): [INFO:sandboxed_process_service.cc(180)] Starting sandboxed process main entry point, cmdline=/system/bin/app_process --type=renderer --enable-fixed-layout --enable-threaded-compositing --ppapi-out-of-process --register-pepper-plugins --lang=en-US --enable-crash-reporter=,Android --disable-client-side-phishing-detection --enable-in-browser-thumbnailing --channel=1918.0.859634551
 --data-dir=/data/data/com.android.chrome/app_chrome --lang=en-US --cache-dir=/data/data/com.android.chrome/cache
D/SandboxedProcessLauncher( 1918): Setting up connection to process: slot=1
I/ActivityManager(  391): Start proc com.android.chrome:sandboxed_process1 for service com.android.chrome/org.chromium.content.browser.SandboxedProcessService1:
 pid=1960 uid=99003 gids={}
W/ActivityManager(  391): Activity pause timeout for ActivityRecord{b1edb218 u0com.android.chrome/com.google.android.apps.chrome.Main t6}
D/StrictMode( 1918): StrictMode policy violation; ~duration=122 ms: android.os.StrictMode$StrictModeDiskReadViolation: policy=2847 violation=2
D/StrictMode( 1918):    at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1135)
D/StrictMode( 1918):    at android.database.sqlite.SQLiteConnection.applyBlockGuardPolicy(SQLiteConnection.java:1041)
D/StrictMode( 1918):    at android.database.sqlite.SQLiteConnection.executeForCursorWindow(SQLiteConnection.java:842)
D/StrictMode( 1918):    at android.database.sqlite.SQLiteSession.executeForCursorWindow(SQLiteSession.java:836)
D/StrictMode( 1918):    at android.database.sqlite.SQLiteQuery.fillWindow(SQLiteQuery.java:62)
D/StrictMode( 1918):    at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:144)
D/StrictMode( 1918):    at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:133)
D/StrictMode( 1918):    at android.database.CursorToBulkCursorAdaptor.getBulkCursorDescriptor(CursorToBulkCursorAdaptor.java:148)
D/StrictMode( 1918):    at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:118)
D/StrictMode( 1918):    at android.os.Binder.execTransact(Binder.java:404)
D/StrictMode( 1918):    at dalvik.system.NativeStart.run(Native Method)
D/StrictMode( 1918): # via Binder call with stack:
D/StrictMode( 1918): android.os.StrictMode$LogStackTrace
D/StrictMode( 1918):    at android.os.StrictMode.readAndHandleBinderCallViolations(StrictMode.java:1705)
D/StrictMode( 1918):    at android.os.Parcel.readExceptionCode(Parcel.java:1447)

D/StrictMode( 1918):    at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:134)
D/StrictMode( 1918):    at android.content.ContentProviderProxy.query(ContentProviderNative.java:413)
D/StrictMode( 1918):    at android.content.ContentResolver.query(ContentResolver.java:461)
D/StrictMode( 1918):    at android.content.ContentResolver.query(ContentResolver.java:404)
D/StrictMode( 1918):    at com.google.android.apps.chrome.GoogleLocationSettingsHelper.getUseLocationForServices(GoogleLocationSettingsHelper.java:115)
D/StrictMode( 1918):    at com.google.android.apps.chrome.GoogleLocationSettingsHelper.isGoogleLocationSettingsAvailable(GoogleLocationSettingsHelper.java:193)
D/StrictMode( 1918):    at com.google.android.apps.chrome.GoogleLocationSettingsHelper.onMainActivityResume(GoogleLocationSettingsHelper.java:161)
D/StrictMode( 1918):    at com.google.android.apps.chrome.Main$MainWithNative.onResume(Main.java:675)
D/StrictMode( 1918):    at com.google.android.apps.chrome.Main$MainWithNative.access$1500(Main.java:498)
D/StrictMode( 1918):    at com.google.android.apps.chrome.Main$InitializerContinuation.resumeNowAndProcessPendingItems(Main.java:485)
D/StrictMode( 1918):    at com.google.android.apps.chrome.Main$InitializerContinuation.onNativeLibraryLoaded(Main.java:406)
D/StrictMode( 1918):    at com.google.android.apps.chrome.Main$InitializerContinuation.access$200(Main.java:356)
D/StrictMode( 1918):    at com.google.android.apps.chrome.Main$InitializerContinuation$1.run(Main.java:366)
D/StrictMode( 1918):    at android.os.Handler.handleCallback(Handler.java:733)
D/StrictMode( 1918):    at android.os.Handler.dispatchMessage(Handler.java:95)
D/StrictMode( 1918):    at android.os.Looper.loop(Looper.java:136)
D/StrictMode( 1918):    at android.app.ActivityThread.main(ActivityThread.java:5017)
D/StrictMode( 1918):    at java.lang.reflect.Method.invokeNative(Native Method)
D/StrictMode( 1918):    at java.lang.reflect.Method.invoke(Method.java:515)
D/StrictMode( 1918):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
D/StrictMode( 1918):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
D/StrictMode( 1918):    at dalvik.system.NativeStart.main(Native Method)
I/LibraryLoader( 1960): loading: chromeview
D/dalvikvm( 1960): Trying to load lib /data/app-lib/com.android.chrome-1/libchromeview.so 0xb1cefc80
W/linker  ( 1960): libchromeview.so has text relocations. This is wasting memory and is a security risk. Please fix.
D/dalvikvm( 1918): GC_FOR_ALLOC freed 337K, 7% free 5931K/6352K, paused 270ms, total 284ms
I/dalvikvm-heap( 1918): Grow heap (frag case) to 6.943MB for 1127536-byte allocation
D/dalvikvm( 1918): GC_FOR_ALLOC freed 2K, 6% free 7029K/7456K, paused 408ms, total 408ms
D/dalvikvm( 1960): Added shared lib /data/app-lib/com.android.chrome-1/libchromeview.so 0xb1cefc80
I/LibraryLoader( 1960): loaded: chromeview
I/chromium( 1960): [INFO:chrome_library_loader_hooks.cc(156)] Chromium logging enabled: level = 0, default verbosity = 0
D/dalvikvm( 1918): GC_CONCURRENT freed 8K, 6% free 7021K/7456K, paused 15ms+112ms, total 421ms

There is some random portion of adb catlog while chrome is crashing, before i get to this:

enter image description here

  • @Izzy are you a bot? even if yes, thanks for fixing my images! :) much appreciated.
    – gcb
    Jan 29, 2014 at 21:20
  • Always welcome! Call me "number 5", as I'm alive :) Fixing those images was an easy task. You might wish to hit the edit button and take a look how it was done, might prove useful next time :)
    – Izzy
    Jan 29, 2014 at 21:23
  • 1
    The build as per the logcat indicates Chrome was built for KitKat aka Android 4.4.2...
    – t0mm13b
    Jan 31, 2014 at 3:00
  • @t0mm13b i was using the image for API19, which i think is 4.4.2
    – gcb
    Jan 31, 2014 at 19:59

2 Answers 2


It's likely you're running an emulator that has not included some of the Google APIs that Chrome needs. When you create an AVD, when you select a target and API level, you also select either "Android APIs" or "Google APIs". It's possible that Chrome needs an emulator that has the Google APIs included. (Maps, etc...)

enter image description here

Also...is your emulator running as ARM or Intel Atom x86? I've noticed that some downloaded APKs won't run on the emulator in x86 mode.

I was able to get it working using an emulator with these settings. It's not fast, but it works:

enter image description here

Pic or it didn't happen:

enter image description here

Hope that works for you.

  • It does not seem to be only that. I created a nexus4 device with Google api 19. It forced me to use Arm cpu, which is extremely slow... ok, i install the Chrome APK, and chrome starts without that message. But before it can show even the start page it closes and I get the dialog telling me that Chrome crashed. Something is still missing...
    – gcb
    Jan 28, 2014 at 22:13
  • can you run chrome on your emulators? could you please paste the output of sdk/tools/android list here?
    – gcb
    Jan 30, 2014 at 19:05
  • 1
    I will check right now if I can install and run the Chrome apk. In the meantime, the output of android list is here: pastebin.com/G2WxrCRT
    – AWT
    Jan 30, 2014 at 20:36
  • No, confirmed it will not run on my emulator, I get the same message you get - "missing critical functionality". I'm curious now though, let me see if I can figure out why.
    – AWT
    Jan 30, 2014 at 20:44
  • 1
    I created a new AVD with the settings (in my updated answer) and I got it to work. Hopefully it works for you as well.
    – AWT
    Jan 30, 2014 at 20:54

I have tried to do this several times and Google does not support APKs for their emulators. I heard others worked around this by installing the Chromium APKs, but even this doesn't really work well. Your best option is to use a physical device -- this will actually free up your PC resources as well.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .