Intel provided images and hypervisor to run x86 Android port with acceleration:
It starts service. To manage service use:
sc stop intelhaxm sc start intelhaxm
Link to package description page:
https://play.google.com/store/apps/details?id=com.google.android.talk
See also:
Add udev rule for fix permission issues:
$ cat /etc/udev/rules.d/90-android.rules # Standard Google device. SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c03", MODE="0666", GROUP="plugdev" # China N101 II SUBSYSTEM=="usb", ATTR{idVendor}=="2207", ATTR{idProduct}=="0010", MODE="0666", GROUP="plugdev"
Reload udev rules and re-plug device via USB:
$ sudo service udev force-reload
See:
Get latest official Google drivers from:
If your device isn't in official list you can try to find driver in Windows update catalog at http://www.catalog.update.microsoft.com.
Use search by vendor or device name, or string adb. Alternatively use hardware id.
BTW older version of official Google drivers are also in Windows update catalog.
Most probably you will fail to find drivers for numerous Chinese/noname Android devices. We can reuse official Google drivers. To do that:
Find your USB's hardware VID and PID. Locate your device in Device Manager, open Properties => Details => Hardware Ids and copy (by Ctrl+C) string like:
USB\VID_2A45&PID_201D&MI_01
Extract official Google's ADB driver package:
unzip latest_usb_driver_windows.zip
Locate and modify driver's .inf file (in my case it was android_winusb.inf) by adding lines, like:
; Meizu %SingleAdbInterface% = USB_Install, USB\VID_2A45&PID_201D %CompositeAdbInterface% = USB_Install, USB\VID_2A45&PID_201D&MI_01
to all sections that has similar lines setting your own hardware id that we've extracted.
Temporary disable driver signing enforcement (run from Administrator, Win, type cmd, Ctrl+Shift+Enter):
cmd# bcdedit /set testsigning off
and reboot. You'll see Test mode sign in right lower corner of desktop.
Locate your decive, then follow Properties => Driver => Update => Browse my computer => Let me pick => Hard Disk.... Select Android Composite ADB interface driver and ignore security warning about broken file signature.
Enable signing checks back:
cmd# bcdedit /set testsigning on
and reboot. Hurrah!
Note
As you see Google's adb driver works fine with any Android phone. It's Microsoft policy to forbid class drivers so each vendor is required to provide same driver with different hardware ID and to pay money for Windows Logo® program and signing process.
Tip
bcdedit can be run with alternative options:
cmd# bcdedit.exe /set nointegritychecks on cmd# bcdedit.exe /set nointegritychecks off
To enter phone to recovery mode press VolumeDown``+``Power button or:
adb reboot recovery
See:
List available devices:
$ adb devices
Install an app from .apk file:
$ adb install /path/to/application.apk
Re-install an app from .apk file (avoids the error INSTALL_FAILED_ALREADY_EXISTS if the app is alreay installed):
$ adb install -f /path/to/application.apk
List installed package names (with path to .apk files!):
$ adb shell 'pm list packages -f' $ adb shell 'cmd package list packages -f'
Uninstall application by its package name:
$ adb uninstall NAME
Uninstall an app but preserve data (for later install):
$ adb uninstall -k NAME
Disable/enable application:
$ adb shell pm disable PACKAGE_NAME $ adb shell pm enable PACKAGE_NAME
List of disabled packages:
$ adb shell pm list packages -d
List of application properties (version, permissions, etc):
$ adb shell dumpsys package $PKG
List currently run activities:
$ adb shell 'dumpsys activity'
Find activities from package:
$ adb shell 'pm list packages -f' $ adb pull APK_FROM_LIST $ aapt dump badging APK_FILE
Start an activity:
$ adb shell am start PACKAGE_NAME/ACTIVITY_IN_PACKAGE $ adb shell am start PACKAGE_NAME/FULLY_QUALIFIED_ACTIVITY
Start an activity with action filter:
android# am start -a com.example.ACTION_NAME -n com.package.name/com.package.name.ActivityName
List of running processes:
$ adb shell ps
or (supported arguments user,group,comm,args,pid,ppid,pgid,etime,nice,rgroup,ruser,time,tty,vsz,stat,rss):
$ adb shell % ps -o pid,user,group,rss,vsz,args
To kill process:
$ adb shell ps | grep $REGEX $ adb shell kill $PID
To stop application:
$ adb shell am kill com.google.android.contacts $ adb shell am force-stop com.google.android.contacts
Take a screenshort:
$ adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > screen.png
Power button:
$ adb shell input keyevent 26
Unlock screen:
$ adb shell input keyevent 82
Show system log:
$ adb logcat $ adb logcat "*:W"
Info from all services:
$ adb shell dumpsys
List of available services:
$ adb shell service list
Info from concrete service:
$ adb shell dumpsys phone $ adb shell dumpsys diskstats $ adb shell dumpsys usb $ adb shell dumpsys activity $ adb shell dumpsys package $ adb shell dumpsys display $ adb shell dumpsys gfxinfo $ adb shell dumpsys power $ adb shell dumpsys battery $ adb shell dumpsys batteryinfo $ adb shell dumpsys cpuinfo $ adb shell dumpsys dbinfo $ adb shell dumpsys meminfo $ adb shell dumpsys account $ adb shell dumpsys netstats
List partitions (with sizes):
android# cat /proc/partitions android# cat /proc/mtd
List mounted file systems:
android# mount android# df
Usually with:
$ adb remount
If you have root but above command fail:
$ adb shell android# su android# mount | grep /system ... android# mount -o remount,rw /system
Getting package name, version, API requirements and permissions:
$ aapt dump badging $FILE.apk