android如何将res文件夹下的资源打包到jar中

android如何将res文件夹下的资源打包到jar中,第1张

1.打包时,将资源放在asset文件夹内,通过AssetsManager获取指定资源:目标应用和jar中的assets文件夹会合并,所以可以通过获取该应用的此类文件夹来获取目标资源2.使用library项目此类方法不能混淆代码,也就是说发布时需要提供library源项目.在引用此lib的目标项目中会看到一个包含已经编译成class.dex的jar文件,这个文件反编译以后仍然是只有代码部分。3.使用双重library项目提供一种双层library项目的方法,可以混淆代码,但是xml与图片资源仍然是暴露的,且发布时需要提供二级引用项目, *** 作上复杂度较高,不如直接提供jar包和资源4.直接提供jar包和资源(分开)依然是反射R文件,资源会被暴露给开发者。

App 打包

aapt是android中的资源打包工具,打包资源就用它。

打包大致流程:

aapt把resources目录下的资源生成R.java文件,并为AndroidManifest.xml生成Manifest.java类。

aidl把项目中自定义的aidl文件生成对应的java类。

JavaCompiler把所有的Java源文件编译成class文件,包括:aapt生成的、aidl生成的、项目中自有的java源文件

使用proguard混淆,并生成一个proguardMapping.xml文件(可选项:可以混淆也可以不混淆)

使用dex工具把所有的class文件生成.dex文件

使用aapt资源打包工具把resources、assets目录下的资源打包成一个_ap文件

使用apkbuilder把所有的dex、_ap文件、AndroidManifest.xml文件打包成一个未签名的apk

使用jarsinger生成一个签名过的apk包

使用zipalign工具对要发布的apk文件进行对齐 *** 作,以便在运行时节约内存。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11883876.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存