↑ 여기 회색 막대를 움직여서 전체 목록을 확인할 수 있어요.
Posted by on the 15th of February, 2013 at 11:11 pm under 컴퓨터.  Post is not tagged.  This post has 3 comments.

혹시 영어로 검색할지도 모르니까 Galaxy S2 JellyBean에서 IceCreamSandwitch keyboard 쓰기.

갤럭시S2가 젤리빈 업그레이드 됐다. 다 좋은데 거슬리는게 몇개 있다. 그 중 하나는 키보드. ICS꺼 키보드가 훨씬 좋다. 젤리빈꺼는 반응도 느리고 오타도 나고 입력도 씹힌다. 그래서 ICS꺼 키보드를 빼서 쓰기로 했다.

1. ICS 단말에서 직접 apk 추출 (실패)

주변에 아직 ICS를 쓰는 사람을 찾아서 apk를 추출해봤다. Quick System Info PRO란 앱으로 apk를 추출했으나 설치가 되지 않았다. logcat 내용을 대충 봤는데 classes.odex인가 뭔가가 없어서 안된댄다. 실패!

2. 맛클에서 apk 받기 (실패)

분명 나같이 ICS 키패드를 쓰고 싶은 사람이 있을거란 생각에 인터넷을 뒤졌다. 역시나 맛클자료실에 추출한 apk가 있었다. 아래 댓글에 다들 감사하다고 되어 있는데 이상하게 내꺼엔 설치가 안된다. logcat은 단순히 설치가 안된다는 로그밖에 없었다. 어쨌든 실패!

3. 맛클에서 받은 apk 고치기 (성공)

어쨌든 logcat을 바탕으로 단순히 패키지 이름을 바꾸면 어떻게 될까? 싶어서 바꾸고 설치를 해봤다. 그랬더니 설치가 된다!! 다만 실행은 안되고 자꾸 멈추었다. Apk modify package name으로 구글링을 해보니 단순히 manifest만 바꾸면 안되고 여기저기 바꿔야 했다. AndroidManifest.xml 파일에 package 가 com.samsung.sec.android.inputmethod.axt9 로 되어 있는데 이걸 com.samsung.sec.android.inputmethod.bxt9 으로 끝에 axt9만 bxt9으로 바꾸기로 했다. 그리고 다시 apk를 만들어서 설치를 했더니 설치도 잘 되고 동작도 잘 한다. 앗싸!

Screenshot_2013-02-15-22-39-20

까먹기 전에 했던 내용을 정리해야겠다.

준비물

* apktool : http://code.google.com/p/android-apktool/
* Signare : http://forum.xda-developers.com/showthread.php?t=1125626
* ICS키보드 apk : 맛클 자료실
* 갤럭시S2 ICS롬 : 찾다 보면 나옴

1. 갤럭시S2 ICS롬에서 framework-res.apk 추출

2. apktool if framework-res.apk

3. apktool 로 ICS키보드 decode

4. axt9을 bxt9으로 수정

grep "\.inputmethod\.axt9" -R | awk -F: '{print $1}' | sort | uniq | xargs perl -pi -e 's/\.inputmethod\.axt9/\.inputmethod\.bxt9/g'
grep "/inputmethod/axt9" -R | awk -F: '{print $1}' | sort | uniq | xargs perl -pi -e 's/\/inputmethod\/axt9/\/inputmethod\/bxt9/g'
grep "/bxt9/xt9" -R | awk -F: '{print $1}' | sort | uniq | xargs perl -pi -e 's/\/bxt9\/xt9/\/axt9\/xt9/g'

첫번째는 .inputmethod.axt9 문자열을 .inputmethod.bxt9 으로 바꾼다.
두번째는 /inputmethod.axt9 문자열을 /inputmethod/bxt9 으로 바꾼다.
세번째는 /bxt9/xt9 문자열을 다시 /axt9/xt9 으로 바꾸는데, 같이 포함된 xt9 library symbol을 바꿀 수 없으니까 원래 symbol을 읽도록 하는 것이다.

5. axt9 디렉토리를 bxt9으로 바꿈

smali/com/samsung/sec/android/inputmethod/axt9

위 디렉토리를 bxt9으로 바꾼다.

6. smali/com/samsung/sec/android/inputmethod/bxt9/AxT9IME.smali 편집

$axt9을 $bxt9 으로 바꿈

7. apktool 로 build

8. signare로 sign

java -jar signapk.jar certificate.pem key.pk8 a.apk as.apk

9. zipalign

zipalign -v 4 as.apk asz.apk

10. adb push 후 설치

Posted by on the 20th of January, 2013 at 8:09 pm under 놀자.  Post is not tagged.  This post has no comments.

작년 여름에 추가된지 거의 여덟달만에 Clockwork Smurf를 얻었다. Mission In A Bottle로 piece를 얻거나 친구들한테 bolt를 얻어야 하는데 bolt 줄 스머프 친구도 별로 없고 MIAB보상도 piece 하나 남겨놓고 나오지 않아서 어려웠다. 그래도 MIAB로 8갠가 얻었고 나머지는 bolt로 얻었다. 마지막 bolt 얻기 전 스샷.

Screenshot_2013-01-19-00-31-24

Clockwork  Smurf는 이렇게 섬에서 돌아다닌다ㅎㅎㅎ

Screenshot_2013-01-19-00-33-29

Posted by on the 20th of January, 2013 at 3:37 pm under 사는이야기.  Post is not tagged.  This post has 2 comments.

며칠 전 모니터 고민한다고 글 올리고 나서도 계속 고민을 했다. Dell U2412M이랑 HP ZR24w 가지고 고민하고 있었는데, 계속해서 만족이나 실리냐에서 선택을 하지 못했다. 그러다가 생각지도 못한 Dell U2410 선택지가 나왔다. 우연히 중고장터에서 Dell U2410을 찾았다. U2412M 가격보다 싸면서 내가 원하는 스펙을 가지고 있었다. 바로 구매 예약을 하고 어제 직접 가서 사왔다.

U2410-box

24인치라 박스도 제법 크고 무게도 나가서 들고오는데 쉽지 않았다. 원래 쓰시던 분이 깨끗하게 썼고 박스 구성품도 하나도 안버리고 그대로 포장을 해 주셨다. 마치 새 모니터 같다.

U2410

원래 쓰던 모니터를 오른쪽으로 옮기고 Dell U2410을 왼쪽에 두었다. 그런데 컴퓨터 책상이 작아서 모니터만으로도 가득찼다. 어쩔수없이 스피커들은 모니터 뒤로 숨었다ㅎㅎㅎ.

Posted by on the 17th of January, 2013 at 10:57 pm under 컴퓨터.  Post is not tagged.  This post has no comments.

모바일 테마를 테마를 추가하면서 브라우저에 맞게 자동으로 테마를 바꿀 수 있도록 Any mobile theme switcher를 썼다. 그런데 이 플러그인이 다른건 다 좋은데 안드로이드 폰과 태블릿을 구분하지 않는다. 안드로이드면 무조건 설정한 테마를 보여준다.

안드로이드 폰과 태블릿을 구분할 수 있는지 찾아봤다. stackoverflow에서 원하는 결과를 찾았다. (link) 폰에는 태블릿과 달리 Mobile이라는 문자열이 들어간다. 단, 허니컴 이전 태블릿은 똑같이 Mobile이 들어간다. 그런데 뭐 허니컴 이전 태블릿은 태블릿이라 하기 뭐하니까 상관 없다.

Any mobile theme switcher에 android 문자열을 찾아서 tablet 관련 코드를 추가했다. 일단은 잘 동작한다. 수정사항을 제작자 게시판에 올맀는데 봤을려나? …


diff --git a/user/blog/wp-content/plugins/any-mobile-theme-switcher/any-mobile-theme-switcher.php b/user/blog/wp-content/plugins/any-mobile-theme-switcher/any-mobile-theme-switcher.php
index 5cde7ca..dd22df7 100644
--- a/user/blog/wp-content/plugins/any-mobile-theme-switcher/any-mobile-theme-switcher.php
+++ b/user/blog/wp-content/plugins/any-mobile-theme-switcher/any-mobile-theme-switcher.php
@@ -33,8 +33,16 @@ $accept           = $_SERVER['HTTP_ACCEPT']; // get the content accept value - t
break; // break out and skip the rest if we've had a match on the iphone or ipod

case (preg_match('/android/i',$user_agent));  // we find android in the user agent
-      $mobile_browser = get_option('android_theme'); // mobile browser is either true or false depending on the setting of android when calling the function
-      $status = 'Android';
+      if (preg_match('/mobile/i',$user_agent))
+      {
+        $mobile_browser = get_option('android_theme'); // mobile browser is either true or false depending on the setting of android when calling the function
+        $status = 'Android';
+      }
+      else
+      {
+        $mobile_browser = get_option('android_tablet_theme'); // mobile browser is either true or false depending on the setting of android when calling the function
+        $status = 'AndroidTablet';
+      }
break; // break out and skip the rest if we've had a match on android

case (preg_match('/opera mini/i',$user_agent)); // we find opera mini in the user agent
diff --git a/user/blog/wp-content/plugins/any-mobile-theme-switcher/plugin_interface.php b/user/blog/wp-content/plugins/any-mobile-theme-switcher/plugin_interface.php
index 1dbdd80..2a336fd 100644
--- a/user/blog/wp-content/plugins/any-mobile-theme-switcher/plugin_interface.php
+++ b/user/blog/wp-content/plugins/any-mobile-theme-switcher/plugin_interface.php
@@ -11,6 +11,7 @@ function register_mysettings_theme() {
register_setting('am-settings-group', 'iphone_theme');
register_setting('am-settings-group', 'ipad_theme');
register_setting('am-settings-group', 'android_theme');
+    register_setting('am-settings-group', 'android_tablet_theme');
register_setting('am-settings-group', 'blackberry_theme');
register_setting('am-settings-group', 'windows_theme');
register_setting('am-settings-group', 'opera_theme');
@@ -26,6 +27,7 @@ function am_settings_page() {
$iphoneTheme         = get_option('iphone_theme');
$ipadTheme            = get_option('ipad_theme');
$androidTheme        = get_option('android_theme');
+    $androidTabletTheme        = get_option('android_tablet_theme');
$blackberryTheme    = get_option('blackberry_theme');
$windowsTheme        = get_option('windows_theme');
$operaTheme            = get_option('opera_theme');
@@ -132,6 +134,24 @@ function am_settings_page() {
</tr>


+        <tr valign="top">
+        <th scope="row">Android Tablet Theme</th>
+        <td>
+            <select name="android_tablet_theme">
+     <?php
+      foreach ($themeNames as $themeName) {
+          if (($androidTabletTheme == $themeName) || (($androidTabletTheme == '') && ($themeName == $defaultTheme))) {
+              echo '<option value="' . $themeName . '" selected="selected">' . htmlspecialchars($themeName) . '</option>';
+          } else {
+              echo'<option value="' . $themeName . '">' . htmlspecialchars($themeName) . '</option>';
+          }
+      }
+     ?>
+            </select>
+        </td>
+        </tr>
+
+
<tr valign="top">
<th scope="row">Blackberry Theme</th>
<td>

Posted by on the 13th of January, 2013 at 8:12 pm under 보고읽고듣고.  Post is not tagged.  This post has 2 comments.

언제 읽었는지 기억도 안나는 ‘파이 이야기’. 내가 이런 책을 일부러 찾아서 볼 일이 없을테니 아마 군대에 있을 때 읽은거 같다. 그 이야기가 영화로 나왔다.

Life of Pi poster

읽은지 오래라 배가 난파돼서 호랑이랑 단 둘이 남아 살아남는다는 이야기만 기억에 남았는데 많은 이야기가 있었다. 그리고 글로 읽으면서 상상했던 많은 장면들이 정말 아름다웠다.

자세한 내용은 잘라야지. (read more)