1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Apk的编译打包过程 高级android面试题

Apk的编译打包过程 高级android面试题

时间:2021-07-02 21:01:45

相关推荐

Apk的编译打包过程 高级android面试题

-I

search path for import statements.

-d generate dependency file.

-p file created by --preprocess to import.

-o base output folder for generated files.

-b fail when trying to compile a parcelable.

值得注意的是:这个工具的参数与参数值之间不能有空格

这里是将testService转化成java文件的例子。

3、javac编译java文件

这一步java compiler编译源代码生成字节码。

javac的参数有下面:

-g 生成所有调试信息

-g:none 不生成任何调试信息

-g:{lines,vars,source} 只生成某些调试信息

-nowarn 不生成任何警告

-verbose 输出有关编译器正在执行的操作的消息

-deprecation 输出使用已过时的 API 的源位置

-classpath <路径> 指定查找用户类文件和注释处理程序的位置

-cp <路径> 指定查找用户类文件和注释处理程序的位置

-sourcepath <路径> 指定查找输入源文件的位置

-bootclasspath <路径> 覆盖引导类文件的位置

-extdirs <目录> 覆盖安装的扩展目录的位置

-endorseddirs <目录> 覆盖签名的标准路径的位置

-proc:{none,only} 控制是否执行注释处理和/或编译。

-processor [,,…]要运行的注释处理程序的名称;绕过默认的搜索进程

-processorpath <路径> 指定查找注释处理程序的位置

-d <目录> 指定存放生成的类文件的位置

-s <目录> 指定存放生成的源文件的位置

-implicit:{none,class} 指定是否为隐式引用文件生成类文件

-encoding <编码> 指定源文件使用的字符编码

-source <版本> 提供与指定版本的源兼容性

-target <版本> 生成特定 VM 版本的类文件

-version 版本信息

-help 输出标准选项的提要

-Akey[=value] 传递给注释处理程序的选项

-X 输出非标准选项的提要

-J<标志> 直接将 <标志> 传递给运行时系统

4、将.class转化为DVM识别的.dex文件

DVM是不识别.class的,所以要通过dex工具将java字节码转化成dex字节码。

dex文件在SDK文件的dx下,下面是转化一个.class文件

5、打包生成.apk文件

向apkbuilder中传入的参数为:

之前打包的的资源文件(gen目录下)

之前生成的.dex文件

libs文件(比如jni/ndk中的so库,如果没有用到就不会传入)

通过apkbuilder产生一个没有签名的apk

6、对apk文件签名

使用jarsigner对apkbuilder产生的apk进行签名

用到的参数有:

用法:jarsigner [选项] jar 文件别名

[-keystore ] 密钥库位置

[-storepass <口令>] 用于密钥库完整性的口令

[-storetype <类型>] 密钥库类型

[-keypass <口令>] 专用密钥的口令(如果不同)

[-sigfile <文件>] .SF

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

【/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享

/.DSA 文件的名称

[-signedjar <文件>] 已签名的 JAR 文件的名称

[-digestalg <算法>] 摘要算法的名称

[-sigalg <算法>] 签名算法的名称

[-verify] 验证已签名的 JAR 文件

[-verbose] 签名/验证时输出详细信息

[-certs] 输出详细信息和验证时显示证书

[-tsa ] 时间戳机构的位置

[-tsacert <别名>] 时间戳机构的公共密钥证书

[-altsigner <类>] 替代的签名机制的类名

[-altsignerpath <路径列表>] 替代的签名机制的位置

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。