Intereting Posts
Android facebook-android-sdk: 4.0.0, как я могу удалить панель выполнения входа? Android – Съемка фотографий и сохранение их с помощью специального имени в пользовательское место назначения через Intent Расширенная библиотека RecyclerView – примеры кода Активность только в портретном или обратном портрете Декодирование h264 ByteStream на Android PhotoViewAttacher очищает границы изображения и масштабирования Импорт библиотеки Facebook в Android Studio: Не удалось найти свойство «ANDROID_BUILD_SDK_VERSION» Киви в Apk в Windows Присоединение файла из внутреннего хранилища к электронной почте Возможно ли, что при нажатии кнопки edittext появится диалоговое сообщение? Android google play support / unsupport список устройств при применении фильтра Country 3D Flip Animation на android.support.v4.Fragment Android ScaleAnimation и TranslateAnimation, как избежать движения ScaleAnimation Разница между версиями подписей – V1 (подпись Jar) и V2 (полная подпись APK) при генерации подписанного apk в AndroidStudio? Для чего вы используете Android Terminal Emulator?

Как обфускать apk с помощью Proguard через Eclipse?

Я добавил proguard.config=proguard.cfg в файл default.properties и имею файл proguard.cfg в своем корневом каталоге проекта. Если я теперь использую Export в качестве приложения для Android из Eclipse, я получаю следующие ошибки:

 [2011-01-27 11:11:37 - Application] Warning: class [classes/com/package.Class.class] unexpectedly contains class [com/package.Class] [2011-01-27 11:11:37 - Application] Warning: class [classes/com/package.Class2.class] unexpectedly contains class [com/package.Class2] [2011-01-27 11:11:37 - Application] Note: there were 145 duplicate class definitions. [2011-01-27 11:11:37 - Application] Warning: there were 146 classes in incorrectly named files. [2011-01-27 11:11:37 - Application] You should make sure all file names correspond to their class names. [2011-01-27 11:11:37 - Application] The directory hierarchies must correspond to the package hierarchies. [2011-01-27 11:11:37 - Application] If you don't mind the mentioned classes not being written out, [2011-01-27 11:11:37 - Application] you could try your luck using the '-ignorewarnings' option. [2011-01-27 11:11:37 - Application] java.io.IOException: Please correct the above warnings first. [2011-01-27 11:11:37 - Application] at proguard.InputReader.execute(InputReader.java:133) [2011-01-27 11:11:37 - Application] at proguard.ProGuard.readInput(ProGuard.java:195) [2011-01-27 11:11:37 - Application] at proguard.ProGuard.execute(ProGuard.java:78) [2011-01-27 11:11:37 - Application] at proguard.ProGuard.main(ProGuard.java:499) 

Кажется, что мои классы сохраняются в подпапках классов, но Proguard использует эту подпапку в качестве пакета. Поэтому определение классов не может быть понято Proguard.

Это проблема с моей установкой SDK? Или возникают ошибки в моей конфигурации Proguard, вызывающие эту проблему?

Solutions Collecting From Web of "Как обфускать apk с помощью Proguard через Eclipse?"

Я немного изменил proguard.cfg от того, что работало для меня в мае прошлого года, и теперь оно работает:

из

-injars bin

в

 -injars bin/classes 

Мне также пришлось немного почистить – удалить Junit (который не использовался в этом проекте) и библиотеку совместимости (которую я, вероятно, мог бы игнорировать, но вместо этого предпочел полностью отказаться от нее).

Теперь это удобно, я просто обновился до нового ddms Eclipse pluging. Версия: Android DDMS 9.0.0.v201101191456-93220 и обновил свой SDK до новой версии, которая включает в себя Honeycomb, и проблема, похоже, исчезла.

Шаги, чтобы получить obfusticated apk:

1) Загрузите последнюю версию proguard из «http://sourceforge.net/projects/proguard/files/». Текущая последняя версия – proguard4.7

2) Замените папку «bin» и «lib» в «C: \ Program Files (x86) \ Android \ android-sdk \ tools \ proguard» с последними загруженными папками proguard.

3) Проверьте местоположение SDK в eclipse для пробелов в нем и для этого перейдите в окно> Настройки> Android. Если есть пустое место, замените его на:

  c:\Progra~2\android\android-sdk (for windows 64-bit) c:\Progra~1\android\android-sdk (for windows 32-bit) 

4) Убедитесь, что файл proguard.cfg находится в корневой папке вашего проекта и добавьте файл proguard.config = proguard.cfg в файле project.properties проекта android.

5) Теперь экспортируйте свой проект, чтобы получить обфускацию apk.

Надеюсь, это поможет.