[android]android下apk的设置进度

/********************2016年4月23日更新********************************/

果壳网:有哪些apk分析工具?

得到了一个apk文件,疑惑不安全,在装置到手提式无线电话机此前,想分析下那个apk有未有黑心行为,或然,反汇编这些文件,求指教应该用什么样分析工具?假如得以,最棒能够依附可信的下载链接。

 

李洋:

android-apktool
能够把你apk里面包车型大巴classes.dex转变为jar格式,然后能够使用Java Decompiler
展开那几个jar文件,间接能够看来当中class文件反编写翻译的内容。

只是如果在此以前的jar被混为一谈过得话,反编写翻译之后的始末恐怕看起来会比较烦躁。

别的,apk里面也说不定含有有NDK开拓的.so文件,那几个就只能用一个帮忙arm格式的反汇编器来看反汇编之后的汇编代码了。

 

天涯论坛:android项目用eclipse生成apk包,eclipse实现了哪四个步骤?

前二日去面试,面试官问的,小菜表示不晓得。当时她唤醒了二个签订契约。

 

谢榭:

自问自答吧 呵呵

首先步:打包财富文件,生成BMWX三.java文件

【输入】Resource文件(正是工程中res中的文件)、Assets文件(也就是别的一种能源,那种能源Android系统并不像对res中的文件那样优化它)、AndroidManifest.xml文件(包名就是从那边读取的,因为生成猎豹CS陆.java文件须要包名)、Android基础类库(Android.jar文件)

【输出】打包好的财富(壹般在Android工程的bin目录能够看来多少个叫resources.ap_的公文正是它了)、福睿斯.java文件(在gen目录中,大家应该很明白了)

【工具】aapt工具,它的路子在${ANDROID_SDK_HOME}/platform-tools/aapt(假如你利用的是Windows系统,按老规矩路线应该如此写:%ANDROID_SDK_HOME%\platform-tools\aapt.exe,下同)。

第3步:处理AIDL文件,生成对应的.java文件(当然,有大多工程尚未运用AIDL,那那一个历程就足以省了)

【输入】源码文件、aidl文件、framework.aidl文件

【输出】对应的.java文件

【工具】aidl工具

其三步:编译Java文件,生成对应的.class文件

【输入】源码文件(包蕴福特Explorer.java和AIDL生成的.java文件)、库文件(.jar文件)

【输出】.class文件

【工具】javac工具

第6步:把.class文件转载成Davik VM帮助的.dex文件

【输入】源码文件(包涵CRUISER.java和AIDL生成的.java文件)、库文件(.jar文件)

【输出】.class文件

【工具】javac工具

第肆步:打包生成未签订契约的.apk文件

【输入】打包后的财富文件、打包后类文件(.dex文件)、libs文件(包含.so文件,当然多数工程都未曾那样的文本,如若您不应用C/C++开采的话)

【输出】未签订契约的.apk文件

【工具】apkbuilder工具

第肆步:对未具名.apk文件进行签订契约

【输入】未签订契约的.apk文件

【输出】签名的.apk文件

【工具】jarsigner

第玖步:对具名后的.apk文件举行对齐处理(不实行对齐处理是不能公布到谷歌(Google)马克et的)

【输入】具名后的.apk文件

【输出】对齐后的.apk文件

【工具】zipalign工具

/***************************************************/

  1. 先把java源文件自动编写翻译成classes文件

 图片 1

  1. 把classes文件编写翻译和包裹成classes.dex文件

 图片 2

resources.ap_ : 财富文件生成的照射引用

应用sdk中的那几个工具

 图片 3

 

  1. 把dex文件,能源映射文件,未压缩的能源,清单文件打包成apk

 图片 4

  1. 给应用程序举办签订契约

 图片 5

debug.keystore : 右键运转时接纳这一个来展开具名

 图片 6

签名信息保存到那里

 

  1. 动用adb(android debug briage)工具上传并安装apk

E:\adt-bundle-windows\sdk\platform-tools>adb install E:\adt-bundle-windows\works

pace\HelloWorld\bin\HelloWorld.apk

 图片 7

 

  1. apk在二哥伦比亚大学上的设置进度

拷贝xxx.apk 到 /data/app/xxx-壹.apk(系统选取存在/system/app/目录下)

 图片 8

在 /data/data 目录下开创文件夹,名称正是包名

 图片 9

与此同时会在/data/system/packages.xml注册表文件之中增加纪录

 

<package name="com.example.helloworld" codePath="/data/app/com.example.helloworld-1.apk" nativeLibraryPath="/data/app-lib/com.example.helloworld-1" flags="572998" ft="15302011250" it="15302011475" ut="15302011475" version="1" userId="10048">

<sigs count="1">

<cert index="4" key="1000位的签名" />

</sigs>

<perms />

</package>

 

相关文章