Showing posts with label android. Show all posts
Showing posts with label android. Show all posts

2020-01-20

enable adb over tcpip


# enable adb over tcpip
$ adb tcpip 5555
or
$ adb -d tcpip 5555

# adb connect over tcpip
$ adb connect 192.168.35.9
$ adb -l

2019-09-25

[android] security patch error

# android security patch 중 다음과 같은 에러 발생

---
FAILED: out/soong/.intermediates/system/core/liblog/liblog/android_arm_armv7-a-neon_cortex-a7_core_shared/liblog.so.abidiff
(prebuilts/clang-tools/linux-x86/bin/header-abi-diff -allow-unreferenced-changes -allow-unreferenced-elf-symbol-changes -lib liblog -arch arm -o out/soong/.intermediates/system/core/liblog/liblog/android_arm_armv7-a-neon_cortex-a7_core_shared/liblog.so.abidiff -new out/soong/.intermediates/system/core/liblog/liblog/android_arm_armv7-a-neon_cortex-a7_core_shared/liblog.so.lsdump -old out/soong/.intermediates/system/core/liblog/liblog/android_arm_armv7-a-neon_cortex-a7_core_shared/liblog.so_ref.lsdump)|| (echo ' ---- Please update abi references by running platform/development/vndk/tools/header-checker/utils/create_reference_dumps.py -l liblog ----' && exit 1)
******************************************************
error: VNDK library: liblog's ABI has INCOMPATIBLE CHANGES Please check compatiblity report at : out/soong/.intermediates/system/core/liblog/liblog/android_arm_armv7-a-neon_cortex-a7_core_shared/liblog.so.abidiff
******************************************************
 ---- Please update abi references by running platform/development/vndk/tools/header-checker/utils/create_reference_dumps.py -l liblog ----
---

# 출력된 로그처럼 실행하면 또 에러 발생;;
$ development/vndk/tools/header-checker/utils/create_reference_dumps.py -l liblog

# 모델명을 파라미터로 넣어주면 정상적으로 업데이트 됨.
$ development/vndk/tools/header-checker/utils/create_reference_dumps.py -l liblog -products my_product

- 참고로 모델명은 lunch 파라미터와 동일.
TARGET_PRODUCT=my_product


2019-07-12

set time on android console


### display date
# date
Tue Jul 13 19:25:15 GMT 1999

# date +'%D %T'
07/13/99 19:25:00


### set date
# date 07131924
Sat Jul 13 19:24:00 GMT 2019

# date 07131924.45
Sat Jul 13 19:24:45 GMT 2019

# date 071319241999.23
Tue Jul 13 19:24:23 GMT 1999


### help
# date --help
usage: date [-u] [-r FILE] [-d DATE] [+DISPLAY_FORMAT] [-D SET_FORMAT] [SET]

Set/get the current date/time. With no SET shows the current date.

Default SET format is "MMDDhhmm[[CC]YY][.ss]", that's (2 digits each)
month, day, hour (0-23), and minute. Optionally century, year, and second.
Also accepts "@UNIXTIME[.FRACTION]" as seconds since midnight Jan 1 1970.

-d      Show DATE instead of current time (convert date format)
-D      +FORMAT for SET or -d (instead of MMDDhhmm[[CC]YY][.ss])
-r      Use modification time of FILE instead of current date
-u      Use UTC instead of current timezone

+FORMAT specifies display format string using strftime(3) syntax:

%% literal %             %n newline              %t tab
%S seconds (00-60)       %M minute (00-59)       %m month (01-12)
%H hour (0-23)           %I hour (01-12)         %p AM/PM
%y short year (00-99)    %Y year                 %C century
%a short weekday name    %A weekday name         %u day of week (1-7, 1=mon)
%b short month name      %B month name           %Z timezone name
%j day of year (001-366) %d day of month (01-31) %e day of month ( 1-31)
%N nanosec (output only)

%U Week of year (0-53 start sunday)   %W Week of year (0-53 start monday)
%V Week of year (1-53 start monday, week < 4 days not part of this year)

%D = "%m/%d/%y"    %r = "%I : %M : %S %p"   %T = "%H:%M:%S"   %h = "%b"
%x locale date     %X locale time           %c locale date/time


2019-06-21

how to extract boot.img & recovery.img


출처 : https://unix.stackexchange.com/questions/64628/how-to-extract-boot-img

/*
  download tools
 */
$ wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/android-serialport-api/android_bootimg_tools.tar.gz

/*
  unpack recovery.img
 */
$ mkdir recovery
$ ./unpackbootimg -i recovery.img -o recovery
$ cd recovery
$ mkdir ramdisk
$ cd ramdisk
$ gunzip -c ../recovery.img-ramdisk.gz | cpio -i


2019-03-21

DEVICE_PACKAGE_OVERLAYS, PRODUCT_PACKAGE_OVERLAYS


### DEVICE_PACKAGE_OVERLAYS, PRODUCT_PACKAGE_OVERLAYS
1. mk 파일에 overlay 폴더 지정.
  DEVICE_PACKAGE_OVERLAYS += device_overlay_folder
  PRODUCT_PACKAGE_OVERLAYS += product_overlay_folder

2. DEVICE_PACKAGE_OVERLAYS와 PRODUCT_PACKAGE_OVERLAYS에 동일한 item이 존재할 경우, PRODUCT_PACKAGE_OVERLAYS 의 내용이 적용됨.

3. PRODUCT_PACKAGE_OVERLAYS에 동일한 item이 존재할 경우, 앞의 item 값이 적용됨.
  예) 다음과 같이 folder1,2가 순서대로 overlay되고, 두 폴더내에 동일한 item이 있을 경우, folder1의 값이 적용됨.
  PRODUCT_PACKAGE_OVERLAYS += product_overlay_folder1
  PRODUCT_PACKAGE_OVERLAYS += product_overlay_folder2

4. DEVICE_PACKAGE_OVERLAYS에 동일한 item이 존재할 경우, 앞의 item값이 적용됨.


### overlays 적용 후 확인 방법
1. frameworks/... 하위 폴더 내용
- target의 system/framework/framework-res.apk 파일에 적용됨.
- apktool로 framework-res.apk unpack 후 내용 확인.
  download : https://ibotpeaches.github.io/Apktool/
  unpack :
  $ apktool d framework-res.apk
  $ java -jar ~/bin/apktool.jar d framework-res.apk


2019-03-08

mount ex4 image file


# ext4 이미지 파일을 mount 하는 방법
$ mount -t ext4 -o loop image_ext4.raw /mnt/ext4_target
@ read-only 마운드
$ mount -t ext4 -o loop,ro image_ext4.raw /mnt/ext4_target

# 참고 : 안드로이드 이미지를 raw 형식으로 변환
$ ./simg2img system.img image_ext4.raw


2019-01-15

[android] kernel boot parameter to propery


참고 : system/core/init/init.cpp

/proc/cmdline 의 androidboot.xxx=yyy 는 ro.boot.xxx=yyy 로 propery 세팅 됨.

2018-11-06

add-radio-file for android recovery


# update package file(update.zip)에 기타 파티션(예, bootloader)를 추가 방법.
makefile에 다음과 같이 추가.

$(call add-radio-file,bootloader.img)
- INSTALLED_RADIOIMAGE_TARGET += bootloader.img
- $(LOCAL_PATH)/bootloader.img를 $(PRODUCT_OUT)/bootloader.img 로 복사

$(call add-radio-file,folder/bootloader.img)
- INSTALLED_RADIOIMAGE_TARGET += bootloader.img
- $(LOCAL_PATH)/folder/bootloader.img를 $(PRODUCT_OUT)/bootloader.img 로 복사


# 다른 방법
makefile에 아래 동작 추가
- INSTALLED_RADIOIMAGE_TARGET += bootloader.img
- bootloader.img를 $(PRODUCT_OUT)/bootloader.img에 복사

2018-11-01

re-mount system & vendor partition rw mode on android




### w/ console, adb shell  or terminal
@ re-mount system partition rw option
// Android Pie (9.0)
# mount -o rw,remount /
// Android Oreo
# mount -o rw,remount /system

@ re-mount vendor partition rw option
# mount -o rw,remount /vendor


### w/ adb
$ adb connect
$ adb root
$ adb connect
@ re-mount system & vendor partition rw option
$ adb remount

2018-10-23

preferred activities


@ xml path
/system/etc/preferred-apps/preferred-activities-home.xml
/data/system/users/0/package-restrictions.xml

@ source code
frameworks/base/services/core/java/com/android/server/pm/Settings.java

@ reference site
https://stackoverflow.com/questions/34073290/set-default-application-on-aosp
https://github.com/opengapps/all/blob/master/etc/preferred-apps/google.xml

2018-10-15

android - init.rc


on late-init
    trigger early-fs
    trigger fs
    trigger post-fs
    trigger late-fs
    trigger post-fs-data
trigger early-boot
trigger boot

on boot
    class_start hal


    class_start core