zoukankan      html  css  js  c++  java
  • .Net 转战 Android 4.4 日常笔记(7)--apk的打包与反编译

    apk(android package)就是我们安卓系统的安装文件,可以在模拟器和手机中直接打开安装,从项目中打包apk有几种方式可取

    一、最简单的方法(类似我们的winfrom)

    只要我们调试或者运行过项目,在项目下的bin debug下就有同名apk文件了(Eclipse)下是这样的。在Android下变成了appuildapk下了

    当然我们不能把这个apk放在商店。没有签名会被人家的apk替换

    二、签名发布

    1.签名的意义

      为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序

    我们需要对我们发布的APK文件进行唯一签名,保证我们每次发布的版本的一致性(如自动更新不会因为版本不一致而无法安装)。

    2.签名的步骤

      a.创建key

      b.使用步骤a中产生的key对apk签名

    我们直接来看Android Studio怎么打包一个签名的APK,可能和Eclipse有点区别

    (1)Android Studio菜单Build->Generate Signed APK 

    (2)新建一个key

    •      Key store path:密钥库文件的地址 
    •      Password/Confirm:密钥库的密码 
    •      Key: 
    •      Alias:密钥名称 
    •      Password/Confirm:密钥密码 
    •             Validity(years):密钥有效时间 
    •             First and Last Name:密钥颁发者姓名 
    •             Organizational Unit:密钥颁发组织 
    •             City or Locality:城市 
    •             Country Code(XX):国家 

    (3)next下一步

    (4)选择打包的路径OK

    三、反编译(整理于网络)

    生成的APK是直接直接解压的

    就是少了源码部分。源码部分被归类到classes.dex里面去了,R类变成了resources.arsc了

    下面来看看怎么反编译出这2个文件

    首先要下载两个工具:dex2jar和JD-GUI

    前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码。以下是下载地址:

    dex2jar:http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zip

    JD-GUI:http://laichao.googlecode.com/files/jdgui.zip

    具体步骤:

    首先将apk解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的;

    解压下载的dex2jar,将classes.dex复制到dex2jar.bat所在目录。在命令行下定位到dex2jar.bat所在目录

    运行

    dex2jar.bat classes.dex

    生成

    classes.dex.dex2jar.jar

    生成jar文件的截图如下:

    运行JD-GUI(jd-gui.exe),打开上面生成的jar包,即可看到源代码了

  • 相关阅读:
    创建一个函数,将4行3列矩阵a和3行4列矩阵b的乘积,存储在4行4列矩阵c中。
    c语言中将输入的正整数进行逆向输出。
    SAP财务知识点
    后勤管理的各种单据的文档对象和对应显示TCODE列表
    财务分析常用指标
    关于系统消息定制的tCODE列表
    如何在SAP的Screen中编写List报表
    FISAP 月末结帐步骤和年终结转
    正确地使用SAP的标准对话框函数
    如何从SAP中查找BADI
  • 原文地址:https://www.cnblogs.com/ymnets/p/3732474.html
Copyright © 2011-2022 走看看