본문 바로가기

Computer Engineering/Android

Android Kernel만 수정해서 올리기. Android에서, 안드로이드를 통째로 컴파일 하지 말고, 만약 커널만 수정하고 싶다면? 순정롬을 다운받아서, zImage(kernel)만 바꿔 친 후, 안드로이드에 롬을 올리면 된다. 그 과정을 Ubuntu 12.04 64bit + Nexus 5에서 진행했을때는 아래와 같다. 예를 들어, 안드로이드에 tcp_probe 모듈을 추가하도록 해본다. 1. Kernel build 먼저, 커널을 다운로드 받는다.# git clone https://android.googlesource.com/kernel/msm.git# cd msm# git checkout 3.4.0-gadb2201 원하는 부분을 수정한다. 그리고, 컴파일에 필요한 툴을 다운받는다.# cd ~# git clone https://android.go.. 더보기
Webkit crash 분석하기 시간이 없으니 글은 나중에 차차 다듬기로(+ 다듬고 올리려고 했는데, 다시 건드릴 일이 없을것 같아서 그냥 비공개만 품...... / 쓰다 만 부분은 다른곳에서 찾으시길... ) 안드로이드 4.1.2 버전에서 크래시가 났을경우, 어느부분에서 났는지 찾는 과정을 적어보았다.(사실, 크래시가 난곳에서 동적분석도 하고싶은데, 그것까진 실패했다. 아마 심볼때문에 그런듯 해서, 안드로이드 full 컴파일을 하고 그 라이브러리들을 안드로이드에 올리면 될수도 있지만, 시간이 너무 오래걸려서 그러진 않았다) 그리고, 사실 이 방법이 가장 효율적인지는 모르겠다.근데, 아는방법이 이것밖에 없으니... 환경: 우분투 13.04 64bit, 갤럭시노트2(루팅) 1. 안드로이드 기본 소스 다운로드. $ sudo add-apt-.. 더보기
모바일에서 3G 패킷 캡쳐하기 (안드로이드 기준으로 설명한다.) 우선 adb와 busybox를 설치해서 기본 세팅을 해둔다. (윈도우보단 우분투에서 adb를 설치하는게 좋은듯) 그리고 su로 루트로 접속하고, WiFi는 꺼둔다. 원래는 그냥 tcpdump를 다운받아서, 다른것처럼 rmnet0나 rmnet_usb0를 덤프하면 된다. 하지만, rmnet_usb0를 덤프하려고 하면, 이름때문에 usb라고 착각을 하면서 덤프가 잘 안된다. root@android:/data/local # ./tcpdump -i rmnet_usb0 -Xtcpdump: Can't get USB bus index from rmnet_usb0 그래서 해당부분을 바이너리패치했다. (그래서, 이 파일로는 진짜 usb 덤프는 불가능하다.) 파일을 디바이스에 올리고, 실행.. 더보기
Android에 debian kit 설치하기 우선 sshd를 설치해서 ssh 접속을 한다. (sshdroid를 설치 했음. / 아니면 connectbot 등을 통해서 로컬접속도 가능할듯) # wget http://sven-ola.dyndns.org/repo/attic/debian-kit-1-4.shar# sh ./debian-kit-1-4.shar ...... : 0s(만약 여기서 끊긴다면, # /data/local/deb/autorun )...... : yes # deb# apt-get update# apt-get upgrade# apt-get install andromize# exit# deb u 빼먹은게 없다면, 이게 맞을듯. http://sven-ola.dyndns.org/repo/debian-kit-en.html 더보기
Failed to allocate memory: 8 해결법 C:\Users\[사용자명]\.android\avd\[avd 이름].avd\config.ini 위의 파일을 열어서, hw.ramSize=1024 와 같은 내용을 hw.ramSize=1024MB 로 변경후 실행하면 정상 작동 됩니다. 더보기