宁夏网站建设哪家好,还原wordpress站点地址恢复,网页ui设计模板,公司实验室设计aapt2命令行实现apk打包
apk文件结构 classes.dex#xff1a;Dex#xff0c;即Android Dalvik执行文件 AndroidManifest.xml#xff1a;工程中AndroidManifest.xml编译后得到的二进制xml文件 META-INF#xff1a;主要保存各个资源文件的SHA1 hash值#xff0c;用于校验…aapt2命令行实现apk打包
apk文件结构 classes.dexDex即Android Dalvik执行文件 AndroidManifest.xml工程中AndroidManifest.xml编译后得到的二进制xml文件 META-INF主要保存各个资源文件的SHA1 hash值用于校验资源文件是否被篡改防止二次打包时资源文件被替换该目录下主要包括下面三个文件 MANIFEST.MF保存版本号以及对每个文件(包括资源文件)整体的SHA1 hashCERT.SF保存对每个文件头3行的SHA1 hashCERT.RSA保存签名和公钥证书 resres目录下资源文件编译后得到的二进制xml文件 resources.arsc包含了所有资源文件的映射可以理解为资源索引通过该文件能找到对应的资源文件信息
aapt2打包流程 通过aapt2打包res资源文件生成R.java、resoucres.arsc和res文件通过Javac编译R.java、Java源文件生成class文件通过d8命令将class文件和第三方库中的class文件处理生成classes.dex通过aapt2工具将aapt生成的resoucres.arsc和res文件、未编译的资源assets文件和classes.dex一起打包生成apk通过zipalign工具将未签名的apk进行对齐处理通过apksigner工具对上面的apk进行debug或release签名 aapt2命令行实现打包 按照上面的顺序使用各个命令便可以打包生成一个apk包了。
Gradle构建工具打包
如果使用传统的aapt2的方式打包在多模块的情况下将会十分的麻烦。幸好gradle已经将上述的命令集成了在了各个task中。
APK安全攻守道
风险种类风险描述解决方案App防止反编译被反编译会暴露客户端逻辑加密算法密钥等等I加密邦邦加固360加固包等资源文件泄漏风险获取图片js等文件资源混淆(AndResGuard)加固等so文件破解风险导致核心代码逻辑泄漏so加固测试开关的代码被打包发布通过测试的url测试账号等对正式服务器进行攻击正式服务器与测试服务器不要使用同一个Root设备运行风险已经root的手机通过获取应用的敏感信息等root手机禁止应用启动模拟器运行风险刷单模拟虚拟位置等禁止在虚拟器上运行截屏攻击风险对app运行中的界面进行截图或录制来获取用户信息添加属性getWindow().setFlags(FLAG_SECURE,FLAG_SECURE)不让用户截图和录屏输入监听风险用户输入的信息被监听自定义键盘