Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to obfuscate my android project in eclipse IDE?

I want minimize my app size as well as avoid the app from reverse-engineering. Can anybody help with simple answer?

like image 577
Sujay Avatar asked Jan 02 '13 08:01

Sujay


People also ask

How do I obfuscate an APK file?

Obfuscate APK Android ProGuard tool can be used to obfuscate , shrink , and optimize the code. ProGuard renames classes, fields, and methods with semantically obscure names and removes unused code. To obfuscate we can set the minifyEnabled true in the app/build. gradle file.

Which of the following is the Android obfuscation tool?

Obfuscapk is an open-source automatic obfuscation tool for Android apps that works in a black-box fashion (i.e., it does not need the app source code). Obfuscapk supports advanced obfuscation features and has a modular architecture that could be straightforwardly extended to support new obfuscation techniques.


2 Answers

Proguard is part of the android eclipse plugin, so you do not have to invoke it manually. You just need to activate it on your build.

To enable ProGuard so that it runs as part of an Ant or Eclipse build, set the proguard.config property in the <project_root>/project.properties file. The path can be an absolute path or a path relative to the project's root.

For some situations, the default configurations in the proguard.cfg file will suffice. However, many situations are hard for ProGuard to analyze correctly and it might remove code that it thinks is not used, but your application actually needs. Some examples include:

  • a class that is referenced only in the AndroidManifest.xml file
  • a method called from JNI
  • dynamically referenced fields and methods

The default proguard.cfg file tries to cover general cases, but you might encounter exceptions such as ClassNotFoundException, which happens when ProGuard strips away an entire class that your application calls.

You can fix errors when ProGuard strips away your code by adding a -keep line in the proguard.cfg file.

like image 142
Frank Avatar answered Oct 13 '22 10:10

Frank


1) Download latest proguard from "http://sourceforge.net/projects/proguard/files/". Current latest version is proguard4.7

2) Replace "bin" and "lib" folder of "path of your SDK\tools\proguard" with latest downloaded proguard folders.

3) Check SDK location in eclipse for blank spaces in it and for that go to window > Preferences > Android. If there is blank space then replace it with:

Pathe of Android SDK

4) Check that proguard.cfg file is in your project's root folder and add "proguard.config=proguard.cfg" in project.properties file of android project.

5) Now export your project to get obfusticated apk.

like image 28
Sujay Avatar answered Oct 13 '22 09:10

Sujay