首页 > 代码库 > mac下使用apktool反编译

mac下使用apktool反编译

  • Mac OS X:
    1. Download Mac wrapper script (Right click, Save Link As apktool)
    2. Download apktool-2 (find newest here)
    3. Rename downloaded jar to apktool.jar
    4. Move both files (apktool.jar & apktool) to /usr/local/bin (root needed)
    5. Make sure both files are executable (chmod +x)
    6. Try running apktool via cli

1、复制以下代码,保存我apktool

#!/bin/bash## Copyright (C) 2007 The Android Open Source Project## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this file except in compliance with the License.# You may obtain a copy of the License at##     http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing, software# distributed under the License is distributed on an "AS IS" BASIS,# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.# See the License for the specific language governing permissions and# limitations under the License.# This script is a wrapper for smali.jar, so you can simply call "smali",# instead of java -jar smali.jar. It is heavily based on the "dx" script# from the Android SDK# Set up prog to be the path of this script, including following symlinks,# and set up progdir to be the fully-qualified pathname of its directory.prog="$0"while [ -h "${prog}" ]; do    newProg=`/bin/ls -ld "${prog}"`    echo ${newProg}    newProg=`expr "${newProg}" : ".* -> \(.*\)$"`    if expr "x${newProg}" : x/ >/dev/null; then        prog="${newProg}"    else        progdir=`dirname "${prog}"`        prog="${progdir}/${newProg}"    fidoneoldwd=`pwd`progdir=`dirname "${prog}"`cd "${progdir}"progdir=`pwd`prog="${progdir}"/`basename "${prog}"`cd "${oldwd}"jarfile=apktool.jarlibdir="$progdir"if [ ! -r "$libdir/$jarfile" ]then    echo `basename "$prog"`": can‘t find $jarfile"    exit 1fijavaOpts=""# If you want DX to have more memory when executing, uncomment the following# line and adjust the value accordingly. Use "java -X" for a list of options# you can pass here.# javaOpts="-Xmx256M"# Alternatively, this will extract any parameter "-Jxxx" from the command line# and pass them to Java (instead of to dx). This makes it possible for you to# add a command-line parameter such as "-JXmx256M" in your ant scripts, for# example.while expr "x$1" : x-J >/dev/null; do    opt=`expr "$1" : -J\(.*\)`    javaOpts="${javaOpts} -${opt}"    shiftdoneif [ "$OSTYPE" = "cygwin" ] ; then    jarpath=`cygpath -w  "$libdir/$jarfile"`else    jarpath="$libdir/$jarfile"fi# add current location to path for aaptPATH=$PATH:`pwd`;export PATH;exec java $javaOpts -Djava.awt.headless=true -jar "$jarpath" "$@"
View Code

2、下载apktool2.jar,墙内的同学戳这里。解压,修改文件名为apktool.jar

第4步可以忽略,只要你cd 到存放apktool的目录就好,和win一样

5、chmod +x  apktool,修改为可执行

6、./apktool d xx.apk,执行

成功反编译出xml文件

 

注意:apktool2必须jdk 1.7

下载http://pan.baidu.com/s/1i302CAD

安装

java -version查看版本是否变化

 

参考:https://code.google.com/p/android-apktool/wiki/Install

 

mac下使用apktool反编译