android library project obfuscation

2019-04-20 04:41发布

问题:

Hi I developed one android library and Now I want to obfuscate it for redistribution. I develop my library with eclipse and android version 4.1.2. I tried obfuscating with eclipse and pro-guard. I do export and and also put proguard.config = proguard-project.text in project-properties but it not generating any jar file. It shows me result as its not allowing to library projects.

So I don't know how to obfuscating android library project. I need help regarding how to obfuscating of android library projects.

Need Help Thank you.

回答1:

The Android SDK doesn't apply ProGuard to library projects; it only applies ProGuard to final applications (including their libraries). The latter is more effective in terms of shrinking, optimization, and obfuscation, because it can work on a larger body of code and it doesn't need to preserve the public API of the libraries.

If you want to distribute your library as an end-product, you can post-process it, as discussed in the ProGuard manual > Examples > A typical library.

Alternatively, DexGuard, ProGuard's commercial sibling for Android, can also process library projects out of the box.

(I am the developer of ProGuard and DexGuard)



回答2:

In order to obfuscate your library what you need to do is:

  1. Make sure gradle settings for lib module state minifyEnabled true .

  2. run ./gradlew assemble{flavor}Release