android weekly로 구글 검색하니 다양하게 나옵니다.


http://androidweekly.net/issues/issue-86 2014-1-24 버전입니다. 최근 소식이고 86호 뉴스니까 신뢰가 가는 숫자입니다.


http://androiddevweekly.com/2013/06/17/Issue-61.html 2013-6-7 버전이고 61호이니까 지금은 멈춘 상태입니다.


http://www.androidauthority.com/shows/aa-weekly/ 블로그인데, 주간 10가지 소식을 전합니다. 2014-2-3 꾸준하네요.


이번 달은 안드로이드에 집중해 봅니다.



image from: http://blank-leoneli.deviantart.com/art/Android-Wallpaper-02-213492952


http://www.genymotion.com/


1. 회원가입 필요, 무료 가능



2. virtualBox 설치 또는 OS별 Genymotion 다운로드

IntelliJ와 Eclipse 플러그인 지원


3. 안드로이드 이미지 선택 및 다운로드

4. 이클립스 genymotion 플러그인 설치 http://plugins.genymotion.com/eclipse

5. 빠른 안드로이드 에뮬 경험



참고: 

우분투에서 Genymotion : http://byneonkid.tistory.com/40

맥에서 Genymotion : http://www.kmshack.kr/347

버전업시 주의할 점: http://kingorihouse.tumblr.com/post/67355210627/genymotion-2-0-1

윈도우에서 http://huhspunk.tistory.com/archive/201310

윈도우의 경우 이슈가 참 많네요. 한글입력기도 수정해야 돌고,

겹치는 class 있는 경우


[2011-01-23 16:25:48 - maps]: Dx
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Lcom/uaxgel/realestate/xmlrpc/XMLRPCMethodCallback;
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.dex.file.DexFile.add(DexFile.java:143)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.command.dexer.Main.processClass(Main.java:338)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.command.dexer.Main.processFileBytes(Main.java:315)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.command.dexer.Main.access$100(Main.java:56)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:266)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:244)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:130)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:108)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.command.dexer.Main.processOne(Main.java:284)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.command.dexer.Main.processAllFiles(Main.java:220)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.command.dexer.Main.run(Main.java:176)
[2011-01-23 16:25:48 - maps]: Dx at sun.reflect.GeneratedMethodAccessor43.invoke(Unknown Source)
[2011-01-23 16:25:48 - maps]: Dx at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[2011-01-23 16:25:48 - maps]: Dx at java.lang.reflect.Method.invoke(Method.java:597)
[2011-01-23 16:25:48 - maps]: Dx at com.android.ide.eclipse.adt.internal.build.DexWrapper.run(Unknown Source)
[2011-01-23 16:25:48 - maps]: Dx at com.android.ide.eclipse.adt.internal.build.BuildHelper.executeDx(Unknown Source)
[2011-01-23 16:25:48 - maps]: Dx at com.android.ide.eclipse.adt.internal.build.builders.PostCompilerBuilder.build(Unknown Source)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:629)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:172)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:203)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:255)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:258)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:311)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:343)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:344)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.ui.actions.GlobalBuildAction$1.run(GlobalBuildAction.java:179)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
[2011-01-23 16:25:48 - maps]: Dx1 error; aborting
[2011-01-23 16:25:48 - maps] Conversion to Dalvik format failed with error 1

apk 파일을 좀 더 보기 쉽게 해제하고 java파일은 자바 문법이 아닌 형태로 디컴파일됩니다.
Reverse Engineering 도구인데, 논란이 있지만, Activity가 High인 것을 보면 굉장히 많이 사용되는 것 같습니다.



안드로이드 3.0 Honeycomb(벌집)은 태블릿용으로 보입니다.  iPad와는 다른 느낌이 듭니다만, 즉흥적이고 빠른 액션은 데스크탑의 애플리케이션과는 확실히 다르게 보여집니다.
CES(Customer Electronic Show) 2010 Las Vegas에서 발표된 프리뷰 동영상입니다.


가장 쉽게 할 수 있는 루팅 방법은 다음 앱을 안드로이드 브라우저에서 다운받아 설치하고 실행하는 것입니다.
http://bit.ly/9wAKC5 

루팅에 대한 책임은 개인에게 있으며, 리눅스 및 윈도우의 커맨드 명령어에 대해 잘 모르시는 분들은 시도하지 않으시는 것을 추천드립니다.

http://shipped-roms.com/shipped/Pass...ipment_ROM.zip 파일을 다운받은 뒤에 PASSIMG.zip 으로 이름을 변환합니다. Android 2.2.1 에서는 잘 되지 않아서 PASSIMG.zip 파일을 /sdcard 에 놓고 2.2로 다운그레이드한 다음에 실행했습니다. (관련글: http://www.nexusoneforum.net/forum/nexus-one-general-discussion/7103-update-froyo-2-2-frf83-frf72-3.html)

루팅 후 활용에 대해서는 http://sorrow.pe.kr/780 에 잘 쓰여있습니다. 대표적인 예가 화면 캡처가 되겠습니다.


리셋이 최고입니다.
요즘은 모토로이를 아이폰 USIM칩으로 사용 중입니다. 아이폰은 보험에 들지 못했던 이유로 13만원의 수술비로 용산에서 수리중입니다. 전원부 나가고, 역시 험한 주인만나서 아이폰이 고생입니다. 때문에 모토로이가 아이폰의 역할을 대신하게 되었습니다.

KT용 apk 파일을 안드로이드에 설치하니 3G 데이터망도 잘 동작하는 것 같습니다. 

여튼 아이폰을 사용하다가 안드로이드폰을 사용하니 개발자스러운 폰의 UI는 참을만한데, lookout, 도돌 등의 모니터링 앱과 테스트 삼아서 깔아본 것들의 갯수가 늘어날 수록 전화받는데 지장을 받을 정도로 느려지네요.

더 이상 폰을 사용하기 힘들어서 선택했습니다.
홈 > 메뉴 > 설정 > 개인정보 > 기본값 데이터 재설정 

처음의 빠른 속도를 되찾았습니다.

안드로이드폰 리셋, 나쁘지 않네요.


ps. 그나저나 구글은 전세계 안드로이드 사용자의 데이터를 클라우드 컴퓨팅을 통해서 잘 분석하면서 놀고 있겠지요. 외부로 드러나지만 않으면 모르는 일이니까요. 군대식으로 얘기하겠죠. 그런일 절대 없다고.

3.6에 맞춘 ADT가 아지가 나오지 않은 관계로 strings.xml 편집시 작업이 불가능할 정도로 NullPointerException이 떨어집니다.

http://www.eclipse.org/forums/index.php?t=msg&goto=548782&#msg_548782 에서 본 바로는 <resources> 노드에 xmlns:android="http://schemas.android.com/apk/res/android" 속성을 추가해주니 이런 재난스러운 상황은 발생하지 않게 됩니다.

<?xml version="1.0" encoding="utf-8"?>
<resources  xmlns:android="http://schemas.android.com/apk/res/android">
    <string name="app_name">Hell...ios</string>
    <string name="notification">Strings.xml not good in ADT. Lots of NullPointerException messages.</string>
    <string name="question">Do want to want to work around it?</string>
</resources>

현재는 ADT 0.9.7 이후의 버전을 기다리면서 이클립스3.5 갈릴레오에서 작업하는 것을 추천하도 싶습니다.
가끔 난감합니다. 에뮬레이터 자체의 부팅시간이 윈도우XP 새로 설치했을 때 부팅시간과 맞먹는데, 에뮬레이터와 이클립스를 모두 껐다가 다시 킬 수도 없고 말이죠.
안드로이드 에뮬레이터와 이클립스는 소켓 통신으로 연결되어 있습니다. 그 사이를 연결해 주는 것이 adb입니다. Android Debug Bridge 의 약자가 adb이죠.
이것만 껐다가 켠 경우에 연결되는 경험을 했습니다. 에뮬레이터를 닫지 않아도 말이죠.

adb kill-server 
이렇게 하면 프로세스가 죽습니다.

adb start-server 
이렇게 커맨드프롬프트(흔히 도스창이라고 하는)에서 입력하면 운좋으면 이클립스와 안드로이드 에뮬레이터와 연결됩니다.

팁입니다. 가끔 되는...

PC방 알바의 원칙
손님: 여기요~, 스타크래프트 안되요.
PC방 알바: 아~ 예, 손님 껐다키세요. 스위치 오른쪽에 있어요.
손님2: 여기요~, 세이클럽 안 되요.
PC방 알바: 아~ 예, 손님 껐다키세요. 스위치 오른쪽에 있어요.
 

+ Recent posts