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