upload android base code part7
This commit is contained in:
parent
4e516ec6ed
commit
841ae54672
25229 changed files with 1709508 additions and 0 deletions
122
android/development/ide/emacs/android-host.el
Normal file
122
android/development/ide/emacs/android-host.el
Normal file
|
@ -0,0 +1,122 @@
|
|||
;;; android-host.el --- Module to use host binaries from an Android dev tree.
|
||||
;;
|
||||
;; Copyright (C) 2009 The Android Open Source Project
|
||||
;;
|
||||
;; Licensed under the Apache License, Version 2.0 (the "License");
|
||||
;; you may not use this file except in compliance with the License.
|
||||
;; You may obtain a copy of the License at
|
||||
;;
|
||||
;; http://www.apache.org/licenses/LICENSE-2.0
|
||||
;;
|
||||
;; Unless required by applicable law or agreed to in writing, software
|
||||
;; distributed under the License is distributed on an "AS IS" BASIS,
|
||||
;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
;; See the License for the specific language governing permissions and
|
||||
;; limitations under the License.
|
||||
|
||||
;;; Commentary:
|
||||
;;
|
||||
;; This module defines interactive functions to send the most common
|
||||
;; commands to a device.
|
||||
;;
|
||||
;; Currently only one device is supported.
|
||||
;;
|
||||
;; In your .emacs load this file (e.g (require 'android-host)) then
|
||||
;; you can either create new shortcuts e.g:
|
||||
;;
|
||||
;; (global-set-key [f8] 'android-adb-sync)
|
||||
;;
|
||||
;; or rely on autocompletion M-x and-sync will expand to
|
||||
;; M-x android-adb-sync
|
||||
;;
|
||||
;; By default the following key bindings are active:
|
||||
;; C-x a a android-adb-root
|
||||
;; C-x a r android-adb-remount
|
||||
;; C-x a s android-adb-sync
|
||||
;; C-x a b android-adb-shell-reboot-bootloader
|
||||
;; C-x a f android-fastboot-flashall
|
||||
;;
|
||||
;; android-fastboot-flashall is still work in progress, check the
|
||||
;; associated buffer (*Android Output*) for errors when you use it.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'android-common)
|
||||
|
||||
(defvar android-host-command-map (make-sparse-keymap))
|
||||
|
||||
(defun android-host-key-prefix-set (var val)
|
||||
"Bind the keys shortcuts to the functions.i"
|
||||
;; TODO: This should go in a minor mode keymap instead of
|
||||
;; messing with the global one.
|
||||
(define-key global-map (read-kbd-macro val) android-host-command-map)
|
||||
(custom-set-default var val))
|
||||
|
||||
(let ((map android-host-command-map))
|
||||
(define-key map (kbd "a") 'android-adb-root)
|
||||
(define-key map (kbd "r") 'android-adb-remount)
|
||||
(define-key map (kbd "s") 'android-adb-sync)
|
||||
(define-key map (kbd "b") 'android-adb-shell-reboot-bootloader)
|
||||
(define-key map (kbd "f") 'android-fastboot-flashall))
|
||||
|
||||
(defcustom android-host-key-prefix "C-x a"
|
||||
"Prefix keystrokes for Android commands."
|
||||
:group 'android
|
||||
:type 'string
|
||||
:set 'android-host-key-prefix-set)
|
||||
|
||||
(defun android-adb-remount ()
|
||||
"Execute 'adb remount'."
|
||||
(interactive)
|
||||
(android-adb-command "remount"))
|
||||
|
||||
(defun android-adb-root ()
|
||||
"Execute 'adb root'."
|
||||
(interactive)
|
||||
(android-adb-command "root"))
|
||||
|
||||
(defun android-adb-shell-reboot-bootloader ()
|
||||
"Execute 'adb shell reboot bootloader'."
|
||||
(interactive)
|
||||
(android-adb-shell-command "reboot bootloader"))
|
||||
|
||||
(defun android-adb-sync ()
|
||||
"Execute 'adb sync'."
|
||||
(interactive)
|
||||
;; Always force root and remount, this way sync always works even on
|
||||
;; a device that has just rebooted or that runs a userdebug build.
|
||||
(android-adb-root)
|
||||
(android-adb-remount)
|
||||
(android-adb-command "sync" 'p))
|
||||
|
||||
(defun android-fastboot-sentinel (process event)
|
||||
"Called when the fastboot process is done."
|
||||
;; TODO: Should barf if the last lines are not:
|
||||
;; OKAY
|
||||
;; rebooting...
|
||||
(princ
|
||||
(format "Process: %s had the event `%s'" process event)))
|
||||
|
||||
(defun android-fastboot-flashall (arg)
|
||||
"Execute 'fastboot -p <product> flashall'.
|
||||
|
||||
With no ARG, don't wipe the user data.
|
||||
With ARG, wipe the user data."
|
||||
(interactive "P")
|
||||
(when (get-buffer android-output-buffer-name)
|
||||
(with-current-buffer android-output-buffer-name
|
||||
(erase-buffer)))
|
||||
(let ((proc
|
||||
(if arg
|
||||
(start-process-shell-command
|
||||
"fastboot"
|
||||
android-output-buffer-name
|
||||
(concat (android-fastboot) " flashall -w"))
|
||||
(start-process-shell-command
|
||||
"fastboot" android-output-buffer-name
|
||||
(concat (android-fastboot) " flashall")))))
|
||||
(set-process-sentinel proc 'android-fastboot-sentinel)))
|
||||
|
||||
|
||||
(provide 'android-host)
|
||||
;;; android-host.el ends here
|
Loading…
Add table
Add a link
Reference in a new issue