2012-02-10 5 views
11

Я хочу скомпилировать с Proguard мой проект Android с некоторыми дополнительными проектами библиотеки Android. Фактически, большая часть кода и ресурсов находится в этих библиотеках.Проект библиотеки Android: Obfuscate и сохранить ресурсы

Я добавил строку «proguard.config = proguard.cfg» в project.properties основного проекта, я настроил cfg-файл (-libraryjars .. \ libs). Затем - щелкните правой кнопкой мыши, Android Tools -> Export Signed Application Package. ADT скомпилировал проект для выпуска, но приложение разбилось при первом запуске: поскольку я читал из журнала, это было из-за неправильного указателя ресурсов.

Я декомпилированы проект и обнаружил очень странную вещь: если я объявляю ресурс в библиотеке, то ресурс указатель на него становится 0.

проблема не исчезнет, ​​когда я добавить строку «proguard.config = proguard.cfg "в project.properties всего моего проекта библиотеки Android.

Любые решения?

Edit: посмотреть на фрагмент proguard.cfg:

-optimizationpasses 5 
-dontusemixedcaseclassnames 
-dontskipnonpubliclibraryclasses 
-dontpreverify 
-verbose 
-optimizations ! 

-printusage unused.txt 
-optimizationpasses 2 
-printmapping mapping.txt 
# -overloadaggressively 
-dontusemixedcaseclassnames 
-dontskipnonpubliclibraryclasses 
-dontpreverify 
-verbose 
-dump class_files.txt 
-printseeds seeds.txt 

-libraryjars ..\libs 
+0

Зачем вам нужна конфигурация proguard в проектах библиотеки? Это конфигуратор proguard в целевом проекте, который используется. – pandre

+0

Не имеет значения, добавить или удалить «proguard.config» в проекты библиотеки. Я сказал об этом только для полной информации. – QuickNick

+0

Опубликуйте свой конфигурационный файл proguard. – 500865

ответ

1

Вы уверены, что у вас есть последние инструменты? Как Eclipse Indigo, ADT v16.0.1 и proguard 4.7? У меня также были проблемы перед обновлением до новейших инструментов.

+0

Я использую последние обновления ADT (регулярно проверяю наличие обновлений) и Android-инструменты. Eclipse имеет версию «Гелиос». – QuickNick

+0

Причина, по которой сегодня плагин ADT позволяет мне скомпилировать библиотеку с обфускацией, я решил закрыть вопрос и подарить вам принятый ответ. – QuickNick

1

Как вы включаете/ссылаетесь на свои проекты в библиотеке Android? Если я прочитаю это правильно, вы добавите их в качестве банки? Если так, у вас действительно могут возникнуть проблемы с ресурсами, предоставляемыми библиотечными проектами.

Если я прав, то попробуйте следующее:

Используйте параметры проекта и добавить свои проекты библиотеки там. Не используйте для этого некоторые экспортированные банки. Способ работы проекта библиотеки Android отличается от обычной библиотеки java.

+0

Я включаю ссылку для ALP, как вы описываете: Настройки проекта -> Добавить библиотеку. Нет экспортированных банок. – QuickNick

 Смежные вопросы

  • Нет связанных вопросов^_^