Android
  • Introduction
  • Android Studio
    • AS的项目结构
    • adb
    • aapt
    • dx
    • Gradle
    • Kotlin on android
  • Smaller
  • decompiler
  • MISC
  • 框架 framework
  • 设计模式
  • dex
  • reinforce加固
  • code
    • Java Tips
      • 负数 negative
      • The Java Tutorials
        • 原始数据类型 Primitive Data Types
      • 运算符
        • 一元运算符
        • 算术运算符
        • 移位运算符
        • 关系运算符
      • 逻辑运算符
        • 逻辑 非 ! 关系值表
        • 逻辑 与 && 关系值表
        • 逻辑 或 || 关系值表
        • 与 & And
        • 或 | Or
        • 非 ~ Nor
        • 异或 ^ Xor
        • 赋值运算符
        • tips
      • == equals
      • Try Catch finally
        • 有意思的东西
      • String、StringBuilder、StringBuffer区别
      • inner classes、nested static classes
    • runtime_memory
    • javaStackTrace
    • Guava
    • FFMPEG
    • GoogleSamples
    • Full Kotlin Reference
    • release屏蔽Log代码
    • Thread
  • ANR
  • 注解改进代码检查
Powered by GitBook
On this page
  • Resources
  • principle原理
  • Code
  • Reinforce加固

Was this helpful?

Smaller

PreviousKotlin on androidNextdecompiler

Last updated 5 years ago

Was this helpful?

优化项目,代码压缩

Resources

res compress can by:

principle原理

把apk解压后,对其内的所有资源按指定规则挨个重命名。把对应资源的关系表根据此规则重新生成resources.arsc。

apk中资源的获取是根据R.class来识别的,但R.class的Hex的值对应的就是res里的值,是由resources.arsc来关联的。

知此原理后,就可以根据此规则,把res和resources.arsc进行重处理了。

Code

ProGuard 压缩代码,可以使用ProGuard的规则,可以把逻辑代码都混淆成短名。

Reinforce加固

classes

https://github.com/shwenzhang/AndResGuard/tree/master/tool_output
https://android.googlesource.com/platform/tools/apksig/