apktool사용법/apktool다운/apktool명령어

http://wbjs4125.blog.me/110161095168


-

APKTOOL.zip



Apktool은 Apkmanager와 같은 기능을 하는 툴입니다.


비교적 어렵게 느껴져서 고수들의 영역(?)으로 생각하시는분이 많으시더라고요...

절대로 아닙니다...

저는 디컴파일할때만큼은 Apktool로 하고있어요.

개인적인견해지만 Apktool이 Apkmanager보다 안정적인것같네요.

기본적으로 Java가 설치되어있어야합니다.

Apkmanager강좌에 보시면 다운로드 링크가 있습니다.


먼저 첨부파일의 apktool.zip을 로컬디스크(C)에 압축풀어줍니다.
***로컬디스크(C)에 압축푸는 이유는 명령어치기 귀찮아서에요...***


윈도우마크+R 또는 시작>Cmd 검색>cmd.exe실행





이게 실행화면입니다.




이제 cd 명령어로 로컬디스크(C)에 있는 apktool폴더로 가봅시다.





명령어: cd c:\apktool
***cd ~ : ~로 이동
***c:\ : 로컬디스크(C)

이제 네모친부분처럼 바뀌었을겁니다.

이제 apktool폴더에 디컴파일하고자 하는 apk를 넣어주세요.
***강좌에서는 SystemUI.apk를 넣었으며 디컴파일을 위해 framework-res.apk도 같이 넣었습니다.

넣으셨으면 apktool 디컴파일 또는 if 명령어를 씁니다.

******명령어******

**참조할때**
(Apkmanager의 10번 명령과 같음)

apktool if 파일명.apk
또는
java -jar apktool.jar if 파일명.apk

***디컴파일***
apktool d 파일명.apk
또는
java -jar apktool.jar d 파일명.apk

***컴파일***
apktool b 파일명
또는
java -jar apktool.jar b 파일명

↑파일명.apk아닙니다
파일명 만 입력하셔야합니다


참고로 말씀드리면 java -jar apktool.jar 이걸로 하는걸 추천드립니다.

Apkmanager, Apkmultitool 등 이 방식으로 디컴/컴파일 합니다.

***Tip***
apktool d/if/b 로 안될경우
java -jar apktool.jar d/if/b 로 시도해봅시다.

저는 Apktool을 권장하는편입니다.
특히 로그요.
Art/ICS Apktool 등은 아예 로그보기가 없습니다;;
Apktool을 쓰는게 정신건강과 미래를 위해(?) 좋습니다.



많이 어려워보이실수도 있습니다.
하지만 사실 쓰시면 Apkmanager보다 이게 훨씬 편하실겁니다.
아, 물론 익숙해진다는 전제하에 말이죠.


펌글] 어플 한글화 하는법 및 Tip

http://blog.naver.com/neochain/140181153659



안녕하세요 한글을 사랑하는 젤리콩까네입니다

 

이번에는 어플 한글화 하는법과 약간의 Tip을 알려드리려고 합니다

사실 뭐 한글화가 실력보다는 노가다만 있으면 되긴 하지만 이런 방법이

오히려 잘 안나와있는것 같기도 해서 올려봅니다

 

 

일단 먼저 필요한 것은

1. Apktool,Apkmanager등의 디컴파일을 할 수 있는 프로그램

2. Notepad++  http://notepad-plus-plus.org/download/v6.3.html

3. 백과사전 등 검색도구 (난 영어 천재야 하는분은 필요없습니다)

4. 시간 (매우 노가다에요)

입니다

 

그리고 약간 말이 싼티나고 횡성수설하고 틀린 말이 있을 수도 있는데

애교(?)로 넘어가주시거나 지적해주시면 고치도록 하겠습니다 ^^

 

1.먼저 apk를 디컴파일할수있는 프로그램을 실행합니다

2. 어플을 디컴파일해줍니다

 

Tip : 만약 어플이 커스텀롬 기본어플 같은 어플이라면 롬 안의 

framework-res.apk를 설치?해주셔야합니다

예)apktool에서 apktool if framework-res.apk 를 치는것

Tip한개더 

간혹가다가 디컴파일은 되는데 컴파일이 꼬일때가 있습니다

한번 컴파일을 한번 해주신다음 잘 컴파일이 되는지 확인해보세요

 

3.열어봅니다

그럼 이런 폴더가 나올거에요

build는 컴파일할때 나오는 폴더니까 무시하셔도 되고요

java나 smali,assets 이런것들은 디컴파일러에 따라 달라질수있으니 무시해주셔도 됩니다

여기서 한글화를 할 때 중요한 것은 res 폴더입니다



 

4.res폴더를 열어보면

또 이런 폴더가 주루룩 나옵니다

이 안에 있는 폴더들도 지원언어나 기기 등에 따라 달라질수 있어요

여기서 중요한것은 values로 시작하는 폴더들입니다

여기에 어플을 실행하면 나오는 언어가 기록되죠

 



 

5.이제 values-ko폴더를 만듭니다

ko로 설정을 하면 한국어일때 이폴더가 먼저 인식이 되고 없는 문장은 values로 인식됩니다

(라고 생각중입니다)



 

6.values에서 arrays.xml과 strings.xml 을 values-ko로 가져옵니다

만약 자신있는언어가 영어가 아니라면 values에 그 언어가 있다는 한에 가져오셔도 됩니다

예를 들면 불어가 쉽다하시면 values-fr을 가져오셔서 번역하시면 되요

그리고 arrays.xml이 없는 어플도 있는데 그럴때는 그냥 없는 채로 진행하셔도 되요



 

7.이제 번역을 시작합니다

arrays.xml = 

<string-array name="array이름">

 

        <item>어플을 실행하면 나오는 문장</item>

        <item>어플을 실행하면 나오는 문장</item>

 

strings.xml = 

<string name="string이름">어플을 실행하면 나오는 문장</string>

 

안의' 어플을 실행하면 나오는 문장'부분을 한글화 시키면 됩니다

절대로 다른 부분을 건드리시면 안됩니다




 

여기서 Tip입니다

Notepad++를 실행했는데 한국어 깨져서 나가기누르시는 분들 있으시죠?

이렇게 나오시는 분들 있으실거에요




그럴 때 해결방법은

설정-스타일 환결 설정-글꼴을 선택하신후 전역 글꼴 사용 체크를 해주시면 됩니다 ㅎ

그럼 이렇게 다시 세종대왕님께서 만드신 자랑스런 한글을 볼 수 있습니다

(클릭하시면 확대됩니다)



 

 

 

그리고 arrays.xml 관련한글화 팁입니다

 

간혹가다가 arrays.xml에

 

'   <string-array name="keyboard_arrows_entries">

        <item>보여줌</item>

        <item>세로일때만 숨김</item>

        <item>숨김</item>

    </string-array>

    <string-array name="keyboard_arrows_values">

        <item>0</item>

        <item>1</item>

        <item>2</item>'

 

구문처럼 _entries와 _values로 뒤문장이 갈릴때가 있습니다

이럴땐 _entries만 한글화 해주시면 되요

values를 건드렸다가는 강종크리가 뜹니다

실제로 저번에 잘못해서 _values문장이 영어였길래 

한글화했다가 싯유 무한강종뜬적이 있습니다 ㅋㅋㅋ

 

 

8.이렇게 다 한글화를 하셨다면

이제 컴파일을 합니다

여기서 컴파일안되서 눈물뿜는분없으시게

아까 디컴파일하실때 컴파일확인하셨겠죠?


그리고 한번 수정한 어플의 경우 다시 컴파일이 되지 않는 경우도 있으니 그때는 순정 어플을 들고 오셔서 컴파일해주시면 됩니다


9.디컴파일한 어플폴더/build/apk/resources.arsc나

컴파일한 어플을 7zip이나 알집으로 여신후 resources.arsc를 원본 어플에 덮어씌워줍니다


잘 이해안되시는 분들은 사진 보시면 알거에요

이사진은 build/apk/resources.arsc 경로입니다



 

파일옮기는건 이렇게 하시면 되고요



 

이렇게 하시면 한글화는 끝이 납니다

기본어플의 경우 그냥 system/app으로 옮겨주시면 되고

기본어플이 아니면 sign과정을 거쳐야합니다

sign은 apk sign 네이버 검색 링크 이링크 클릭하시면 apk sign 하는 방법이 많이 나와있으니 

읽어주시고 한번 사인해주신후 설치해시켜주시면 됩니다


*system 기본어플은 사인을 해주시면 안됩니다

 

이 과정을 모두 끝마치셨다면 당신도 이제 한글을 더욱 사랑하게 된겁니다

여러분 우리 모두 한글을 사랑해보아요 (노가다의 길로 빠져봅시다 )

 

 

허접한 글 끝까지 읽어주셔서 감사합니다 꾸벅(__)


펌글]이클립스에서 예제소스 불러오기(기존 프로젝트 불러오기)

http://newstyle.egloos.com/2658448


안드로이드와 관련된 책을 사서 보면 예제 소스들이 있는데 이것들이 어떻게 동작하는지 알기 위해서는 이클립스에서 열어 볼 수 있어야하는데 최근까지 그 방법을 몰랐다. 
하지만 구글검색으로 쉽게 답을 얻을 수 있었는데, 잊어버리지 않기 위해서 
내용을 정리해 둔다.

먼저 File을 선택한 다음 Import를 클릭한다 ( File -> Import)
클릭하게 되면 아래와 같은 그림이 뜬다.
Existing Projects into Workspace라는 것이 있는데 이것을 
클릭하고 아래 넘어가는 버튼을
 누르면 다음과 같다.
여기에서 보면 Select root directory라는 부분이 비어 있다.

이 부분에 전체 소스코드를 푼
디렉토리를 입력해주면
 
네비게이션에 추가 할 수 있는 여러가지 프로젝트가  뜨게 된다. 거기에서 선택해서

추가하면 이제 완전히 불러진 것을 볼수 있을 것이다.

DO IT! 안드로이드 앱 프로그래밍 (젤리빈 개정판) 내용 중 일부입니다.


나 볼려고 만들어놓음.. 폰으로 가끔 보려고








 알아둘 내용

설명 

 프로젝트 만들기

 이클립스에서 안드로이드 프로젝트를 만들 수 있습니다. 

 setContentView()

 화면에 무엇을 보여줄 지를 결정하는 함수(메소드)입니다. 

 R.layout.activity_main

 화면에 보여줄 대상이 되는 XML의 위치를 지정합니다. 

 /res/layout/activity_main.xml

 위의 @string/hello와 같은 글자가 저장된 프로젝트의 안의 파일입니다. 

 @string/hello

 어떤 글자를 사용할 것인지 지정합니다.

 /res/Values/strings.xml

 위의 @string/hello와 같은 글자가 저장된 프로젝트의 안의 파일입니다.

 @+id/startBtn

 activity_main.xml 파일 안에 있는 태그의 ID를 지정하는 방식입니다. 

 findViewByld()

 xml에서 정의한 태그의 ID를 이용해 코드에서 객체를 참조합니다. 

 setOnClickListener()

 버튼을 눌렀을 때 어떤 기능을 할지 간단하게 지정하는 함수입니다. 

 Intent

 어떤 기능을 실행할 지를 지정하기 위해 사용합니다.

 Toast

 화면에 잠깐 보였다 없어지는 메시지를 간단하게 보여주고 싶을 때 사용합니다.

 ▲ 지금까지 내용 중에서 잊지 않고 기억해 두면 좋은 내용들


+ Recent posts