2015년 4월 22일 수요일

apk unpack and repack

기존에 누군가가 만들어준 GAppsInstaller_kk.apk가 문제가 있다는 글이 포럼에 올라 왔다.

http://forum.odroid.com/viewtopic.php?f=113&t=11854&start=50

여기서 링크에 있는 GAPPs를 사용하면 문제가 해결 된다는 글이 있다.

http://wiki.cyanogenmod.org/w/Google_Apps

그래서 GAppsInstaller_kk.apk 를 풀어 위에 아래 파일로 대체 하려고 한다.

https://goo.im/gapps/gapps-kk-20140105-signed.zip/

gapps-kk-20140105-signed.zip 압축을 푼다.


 system 폴더에서 모든 파일을 선택한다.


우측 클릭 메뉴에서 Compress...를 선택한다.
gapps.tar.xz로 압축한다.



gapps.tar.xz를 gapps.xz로 변경한다.

이제 apk를 풀고 묶는 툴을 설치한다.

http://ibotpeaches.github.io/Apktool/

Apktool 2.x 버전과 Java 1.7 을 사용하였다.

http://ibotpeaches.github.io/Apktool/install/

저는 안드로이드 빌드를 위하여 1.6과 1.7 두가지 모두 설치 되어 있어서 아래와 같이 openjdk로 변경합니다.

$ sudo update-alternatives --config java

There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-6-oracle/jre/bin/java          1073      auto mode
  1            /usr/lib/jvm/java-6-oracle/jre/bin/java          1073      manual mode
  2            /usr/lib/jvm/java-6-sun/jre/bin/java             63        manual mode
* 3            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      manual mode

Press enter to keep the current choice[*], or type selection number:

apktool로 압축을 푼다.

$ apktool d GAppsInstaller_kk.apk 
I: Using Apktool 2.0.0 on GAppsInstaller_kk.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: /home/codewalker/apktool/framework/1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Baksmaling classes.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...

그리고 gpapps.xz를 덮어쓴다.
$ cp gapps.xz GAppsInstaller_kk/res/raw/gapps.xz

기존 GAppsInstaller_kk.apk를 지운다.
$ rm -rf GAppsInstaller_kk.apk

apktool로 묶는다.
$ apktool b GAppsInstaller_kk/
I: Using Apktool 2.0.0
I: Checking whether sources has changed...
I: Smaling smali folder into classes.dex...
I: Checking whether resources has changed...
I: Building resources...
I: Building apk file...

새로 만든 GAppsInstaller_kk.apk
http://dn.odroid.com/GAPPS/new/GAppsInstaller_kk.apk


댓글 쓰기