[Android] ndk-gdb 사용법 IT

project 셋팅

AndroidManifest.xml

Application 항목에 android:debuggable="true" 속성 추가

<application ... android:debuggable="true">

adb path 설정

아래와 같이 하면 .bashrc 파일 내 공백문제 없이 입력가능? => 확인안됨
export $PATH:'/cygdrive/c/Program Files/Android/android-sdk/platform-tools/'

.bashrc 파일 내 아래 내용 추가 시 Program Files 공백문제로 인해 문제발생 소지가 있음
따라서 아래 내용은 cygwin 상에서 직접 입력

export $PATH:/cygdrive/c/Program\ Files/Android/android-sdk/platform-tools/

ndk-gdb --adb=../../Android/android-sdk/platform-tools/adb.exe

이후 계속적인 path 문제 발생으로 인해 결국 sdk 위치 변경


emulator -partition-size <size> -avd test233


ndk-gdb 사용을 위한 삼성 갤럭시S2 루팅

커널 종류가 많다.
제일 쉬운 방법은 다운로드 만으로 루트권한을 얻을 수 있는 경량의 테그라크 커널을 이용하는 것이다.
pspmaster.tistory.com 에서 통신사와 빌드버전을 확인 후 다운받는다. build 23 이 진저브레드 EE31 이다.
오딘을 통해 빌드하도록 한다.
만약의 경우를 대비해 아래의 주소에서 순정커널도 받아놓도록 한다.
http://matpclub.com/s/pxeboard31/3140167 ( 스마트폰 커널 커뮤니티로는 맛클이 유명하다 )


run-as 에서의 문제로 인해(pkg 용량과 관련된 buffer or permission ?)

아래와 같이 수정 필요

--- ndk-gdb 2011-02-24 16:55:07.000000000 +0900
+++ ndk-gdb-root 2011-06-09 08:35:04.000000000 +0900

@@ -465,7 +465,7 @@
 log
"Using app out directory: $APP_OUT"

 
# Find the <dataDir> of the package on the device
-DATA_DIR=`adb_shell run-as $PACKAGE_NAME /system/bin/sh -c pwd`
+DATA_DIR="/data/data/$PACKAGE_NAME"
 log
"Found data directory: '$DATA_DIR'"
 
if [ $? != 0 -o -z "$DATA_DIR" ] ; then
     echo
"ERROR: Could not extract package's data directory. Are you sure that"
@@ -543,7 +543,7 @@

 
# Launch gdbserver now
 DEBUG_SOCKET
=debug-socket
-run $ADB_CMD shell run-as $PACKAGE_NAME lib/gdbserver +$DEBUG_SOCKET --attach $PID &
+run $ADB_CMD shell "(cd $DATA_DIR; lib/gdbserver +$DEBUG_SOCKET --attach $PID)" &
 
if [ $? != 0 ] ; then
     echo
"ERROR: Could not launch gdbserver on the device?"
     
exit 1


원문참조
http://stackoverflow.com/questions/6158953/running-ndk-gdb-with-package-not-found-error-on-motorola-phone
http://code.google.com/p/android/issues/detail?id=16391
http://code.google.com/p/android/issues/detail?id=13965

Android NDK 설치 / JNI sample 테스트 IT

설치환경
Cygwin ( 최신버전 http://cygwin.com/install.html )
android-ndk-r5b-windows ( 최신버전 http://developer.android.com/sdk/ndk/index.html )
  • Cygwin 설치

    Cygwin 다운 & 설치
    반드시 Install(!!) from Internet 선택
    ftp://ftp.kaist.ac.kr 선택
    gcc-g++, make 검색 후 체크 , packages 다운 & 설치

  • NDK 설치

    Android NDK 다운 & cygwin\home\계정명\ 에 압축해제 ( 한글/공백/문자 X )

  • JNI sample 테스트

    Cygwin 실행

    sample 빌드
    $ cd android-ndk-r5b/samples/hello-jni
    $ ../../ndk-build -B
    Install : xxx.so 나오면 OK.

    Eclipse에서 New > Project..
    빌드한 sample 폴더 android-ndk-r5b/samples/hello-jni 선택 후 Run! <끝>
참고로 hello-gl2 sample 은 emulator에서 테스트 불가 ( OpenGL display 문제.. 아마도ㅎ )

Windows 환경에서 Redmine 설치, MySQL 백업/복구, SVN 연동 IT

설치환경
Ruby 1.8.6 ( 최신버전 : http://www.ruby-lang.org/ko/downloads/ )
Redmine 1.1.2 ( 최신버전 : http://rubyforge.org/frs/?group_id=1850 )
MySQL 5.5.10 ( 최신버전 : http://www.mysql.com/downloads/mysql/ )
TortoiseSVN 1.6.99 Nightly Build ( 최신버전 : http://nightlybuilds.tortoisesvn.net/latest/win32/small/ )

 

  • old 시스템에서 MySQL 백업

    cmd 실행 후 redmine DB 백업
      > mysqldump -u 사용자 -p비밀번호 redmine > redmine_xx.sql ( 띄어쓰기 유의 )

  • new 시스템에서 MySQL 설치 & 복구

    MySQL Windows 버전 다운 & 설치. 쉽다.

    cmd 실행 후 mysql 접속
      > mysql -u 사용자 -p비밀번호

    MySQL DB 생성 / 사용자 등록 / 권한 설정
      > create database redmine character set utf8;
      > create user redmine@localhost identified by 'my_password';
      > grant all privileges on redmine.* to redmine@localhost';

    redmine DB 복구
      > mysql -u 사용자 -p비밀번호 redmine < redmine_xx.sql

  • Redmine 설치

    Ruby 1.8.6 Windows 버전 다운 & 설치. Enable RubyGems 체크!

    Redmine 1.1.2 다운 & 압축해제. 한글/공백 없는 경로로 해제할 것! ( 문제 발생할 소지가 다분함 )

    Redmine설치폴더\config\database.yml.example 파일을 database.yml 로 변경 후 메모장에서 아래와 같이 수정
    production:
      adapter: mysql
      database: redmine
      host: localhost
      username: redmine
      password: 비밀번호
    cmd 실행
      > cd Redmine설치폴더 ( 매우 중요. Rake aborted! 에러 방지 )

    Requirements 설치
      > gem install rails -v=2.3.5
      > gem install rack -v=1.0.1
      > gem install rubygems-update
      > update_rubygems
      > gem install i18n -v=0.4.2
      > gem install mysql

     session store secret 생성(?)
      > rake generate_session_store

    DB 구조 생성. 마이그레이션... 마이그레이션! ( 삽질하지 않기 위해서는 아주 중요하다... )
      > set RAILS_ENV=production
      > rake db:migrate

    기본 환경설정 데이터 삽입(!)
      > rake redmine:load_default_data

    mongrel web server 설치 / 서비스 명령 추가
      > gem install mongrel
      > gem install mongrel_service

    서비스 등록 / 시작 / 시작유형 자동
      > mongrel_rails service::install -N redmine -e production
      > net start redmine
      > sc config redmine start= auto

  • SVN 연동을 위한 client

    TortoiseSVN Nightly Build 다운 & 설치 & reboot! ( Nightly Build 만 cmd 에서 svn 실행가능! ) <끝>
최대한 짧게 쓴다고 썼는데... 그래도 길다... ㅎㅎ


참조
공식 Redmine 설치 가이드 - http://www.redmine.org/projects/redmine/wiki/RedmineInstall
Redmine - http://www.redmine.org/
Ruby - http://www.ruby-lang.org/ko/
MySQL - http://www.mysql.com/
TortoiseSVN - http://tortoisesvn.net/


Windows XP 에서 Windows 7 부팅 USB 만들기 IT

Vista 이상의 사용자들은 이 글대로 따라할 필요가 없다.
diskpart 를 이용한 훨신 더 쉬운 방법이 인터넷에 나와있다.

Windows XP 에서는 diskpart 5.1 을 사용하는데, 이 버전은 USB 를 인식하지 못한다.
vista 이후 버전에 들어있는 diskpart 6.0 이상의 버전에서만 인식할 수 있다.
그렇다고 diskpart 6.0 이상의 버전을 인터넷에서 다운받을 수 있는 것도 아니다.
찾게된다면 당신은 리플로 태클걸 수 있다. 링크도 함께 건다면 더 좋겠다.

준비물

1. Windows 7 DVD or 이미지 파일 ( iso )
2. 3GB 이상의 USB
3. HP USB Disk Storage Format Tool - HPUSBDisk.exe ( 최신버전 : http://www.hp.com/#Product )
4. MBRWiz - MBRWiz.exe ( 최신버전 : http://mbrwizard.com/ )


Windows XP 에서 Windows 7 부팅 USB 만들기

1. Windows 7 DVD or 이미지 파일을 삽입한다. USB 도 삽입한다. ( 이 후 Windows 7 은 e: 로, USB 는 f: 로 설명한다 )
2. HPUSBDisk.exe 로 USB를 NTFS 파일 시스템으로 Quick Format 한다.
3. MBRWiz.exe 를 c:\ 에 복사한 후 cmd 상에서 아래와 같이 입력한다.

c:\> mbrwiz /list

디스크 목록과 각 디스크에 대한 정보가 나온다.

c:\> mbrwiz /disk=숫자 /active=1  ( 숫자 : 디스크 목록에서 USB의 디스크 번호 )

질문에 대한 대답은 yes.

c:\> e:\boot\bootsect /nt60 f: ( USB에 부트섹트 생성 )

c:\> xcopy e:\ f:\ /cherky ( Windows 7 전체파일 복사 )

복사가 끝나면 설치할 PC의 BIOS에서 부팅순서에 USB( Removable dev. )를 1순위로 지정 후 설치를 시작한다. <끝>

추가 정보는 http://www.bwana.org/2009/01/11/how-to-install-windows-7-beta-from-a-usb-drive-to-an-hp-mini-1000-without-vista/


[Android] Mark has been invalidated IT

< 문제점 >
java.io.IOException: Mark has been invalidated.

Drawable d = Drawable.createFromPath(pathName);
BitmapDrawable bd = new BitmapDrawable(pathName);

사용 시 발생.

< 해결방법 >
FileInputStream 사용.

FileInputStream fis;
fis = new FileInputStream(pathName);
FileDescriptor fd = fis.getFD();
Bitmap b = BitmapFactory.decodeFileDescriptor(fd);
BitmapDrawable bd = new BitmapDrawable(b);

구글토크 웹 주소 Entertainment


EBS라디오 , SBS라디오 실시간 듣기 Entertainment


1 2 3 4 5 6 7 8


SBS 라디오 파워FM