java、class、jar、aar、dex、smali、apk之间的关系
1.简介
java:编写好的程序源代码
class:.java文件通过javac 编译后的字节码文件,jvm直接运行的文件
jar:Java Archive,java二进制归档文件,多个.class文件打包的文件
aar:Android Archive,Android二进制归档文件,由jar和Android资源文件
dex:将.class优化打包后的文件,dalvik虚拟机则是.dex可执行文件
smali:Smali,Baksmali分别是指安卓系统里的Java虚拟机(Dalvik)所使用的一种.dex格式文件的汇编器,反汇编器。
apk:Android application package,包含.dex、resource文件资源、assets原生文件资源、应用证书签名、AndroidManifest等组成
2.转换关系
java转class
javac Test.java
class转dex
ddx --dex --output=Test.dex Test.class
dex转smali
java -jar baksmali.jar -o baksmaliout Hello.dex
smali转dex
java -jar smali.jar smali/ -o classes.dex
jar转java
java -jar fernflower.jar rediscounter.jar demo/
java、class、jar、aar、dex、smali、apk之间的关系相关推荐
- Java的一些基本概念和它们之间的关系
Java的一些基本概念和它们之间的关系 在CSDN中有个帖子问到下面四个问题,我估计帖子的斑竹是一个学生,他存在的问题其实困扰着很多初学java的人.这是因为,很多书上把概念都没有讲清楚.下面我把该斑 ...
- spring boot 菜鸟教程学习:spring是一个超级大工厂能够管理java对象(bean)和他们之间的关系(依赖注入)
springboot的java对象叫做bean 用一个叫依赖注入的方法来管理bean的依赖关系 说白了 就是bean是节点 依赖注入能够构建节点之间的关系 创建bean的三种方式 如何依赖注入?
- JAVA面向对象-----接口与类、接口之间的关系
接口与类.接口之间的关系 大家之前都知道类与类之间的关系继承,那么接口与类之间又是怎样子的关系呢? 接口与类之间是实现关系.非抽象类实现接口时,必须把接口里面的所有方法实现.类实现接口用关键字impl ...
- Java多线程2.3.生产者与消费者之间的关系2
生产者与消费者之间的关系 1.线程间通信问题描述图 2.线程的状态转换图及常见执行情况 3.等待唤醒机制思路图解 4.线程的生命周期
- java 正方形_java-确定正方形和矩形之间的关系的算法
我需要找到一种确定正方形和矩形之间关系的算法.它必须能够确定是否: >正方形完全在矩形内 >正方形部分位于矩形内(重叠) >正方形的角仅接触矩形的角 >正方形的边缘在矩形的边缘 ...
- java和jvm_Java、JVM和操作系统之间的关系,写给新人,
来张图:这个帖子写给新人的,老玩家就直接无视他,因为这个完完全全是白话基础原理. 解释:上面的图是从上往下依次调用的关系. 操作系统(Windows/Linux)管理硬件,让硬件能够正常.合理的运行, ...
- Java中组合、继承与代理之间的关系。
在Java中如何将一个已经定义好的类尽可能多的重复使用是提高开发效率和质量的关键.而下面我们要讲述的三种方式便是涉及到怎样去复用类让代码更优雅. 一.组合 定义:在新的类中产生现有类的对象. 组合的例 ...
- java jar包和war包_java中jar包和war包之间有什么区别
原标题:java中jar包和war包之间有什么区别 jar包 简单地说,JAR(Java Archive)是一种包文件格式.JAR文件具有.jar扩展名,可以包含库.资源和元数据文件. 本质上,它是一 ...
- Android中的APK,TASK,PROCESS,USERID之间的关系
开发Android已经有一段时间了,今天接触到底层的东西,所以对于进程,用户的id以及Android中的Task,Apk之间的关系,要做一个研究,下面就是研究结果: apk一般占一个dalvik,一个 ...
- python类与类的关系_python 类与类之间的关系
一.依赖关系(紧密程度最低) (1)简单的定义:就是方法中传递一个对象.此时类与类之间存在依赖关系,此关系比较低. (2)实例植物大战僵尸简易版 题目要求:创建一个植物,创建一个僵尸 1.植物:名字. ...
最新文章
- 概率潜在语义分析(Probabilistic Latent Semantic Analysis,PLSA)
- node版本查看管理工具
- 工作总结20:遮挡层
- 如何把word分装到两个byte_如何核对两个Word文档的内容差别?同事加班半小时,我只花了30秒...
- LeetCode 1016. 子串能表示从 1 到 N 数字的二进制串(bitset)
- django的基本操作流程
- window.open怎么设置title_企业seo怎么优化 都有那些策略?
- ArcGIS中栅格数据的金字塔详解
- 为什么要使用MQ消息中间件?
- linux hadoop namenode_HADOOP_HDFS伪分布式安装步骤
- 评分卡建模工具scorecardpy全解读
- 苹果Mac视频格式转换器:Filmage Converter
- VisualStudio2022如何改为中文语言(vs2022汉化)
- 【Spring学习笔记七】-Spring MVC基本配置和实例
- 使用Jade和Grunt加快HTML的产生
- 基金使用计划 数学建模 matlab,基金使用计划模型
- #64-【模拟】屠城(zly#3)
- passenger安装nginx
- 伊朗 2018 ICPC区域赛 A : Iranian ChamPions Cup
- H.264基础知识总结
热门文章
- 程序员毕业五年他年薪百万,他月薪一万
- 上位机开发(软件测试)
- php 支付宝订单查询_PHP接入支付宝单笔订单查询接口
- 【SpringBoot项目No qualifying bean of type ‘×××Mapper‘ available:的错误解决】
- flea-db使用之封装JDBC接入
- 38 Power Query-背后的贤内助 M 语言
- 前端战五渣学前端——初探Parcel急速打包
- TPA4411RTJR 无电容立体声耳机驱动器 封装:QFN20
- 没有投屏标志怎么投屏_没有【TV】小图标,手机怎么投屏电视
- 书籍推荐:国内第一本ASP.NET 3.5 MVC技术专著