Android — Есть ли пример того, как Proguard работает с Cocos2d-x? И twitter4j

Я искал для обсуждениякк. Пример, но его нет. Чувствуя, что это платформа, более независимая от ОС, я могу искать просветление здесь.

У меня появилась сильная головная боль после включения письма

proguard.config = $ {sdk.dir} /tools/proguard/proguard-android.txt

в project.properties в базовом каталоге моего проекта.

введите описание изображения здесь

Я не мог скопировать прошедший текст, потому что экран консоли в Eclipse сразу очищался и отображался так, как будто в этом нет ничего плохого, но я неоднократно получал сообщение «Код ошибки 1. Смотрите консоль».

Хотя проблема, похоже, связана с twitter4j, я уверен, что до этого прокручивалось еще много предупреждений, ну, я не уверен, все это было так внезапно.

Я трахал этот сайт за помощью, и хотя большинство советов состоит из добавления dontwarn Я чувствую, что мне нужно экспортировать библиотеки, а не копировать libjar в собственную папку lib моего проекта, как я это делал с twitter4j.

Я попытался добавить:

-dontwarn twitter4j.management.**
-dontwarn twitter4j.**
-dontwarn javax.management.**
-dontwarn com.google.api.client.googleapis.extensions.android.gms.**
-keep class javax.**  { *; }
-keep class org.**  { *; }
-keep class twitter4j.**  { *; }
-keep class java.lang.management.**  { *; }
-keep class com.google.code.**  { *; }
-keep class oauth.signpost.**  { *; }

-libraryjars /libs/twitter4j-core-3.0.3.jar

-keep class twitter4j.**
-keepclassmembers class twitter4j.** {
<init>(...);
<methods>;
<fields>;
}

Для proguard-project.txt, но это не имело никакого эффекта. Я не хочу беспокоиться о proguard, так как C ++ в любом случае намного лучше для запутывания. Странно, что ни одно из руководств, которые я читал, не продвигалось, включая весь проект twitter4j. Я предпочитаю небольшую библиотеку 300 КБ. Но нет, если это ограничивает оптимизацию в других отношениях.

Кстати, мой SDK версии 22.6.

____РЕДАКТИРОВАТЬ____

В поисках полного примера я нашел SDK / tools / proguard / examples / android.pro

Я попытался скопировать партию, но безрезультатно, но меня смутила рекомендация в заголовке этого файла:

Android-инструмент? proguard.cfg? Конечно, proguard знает, что новые файлы просто проинструктированы ссылаться на конфиги в каталоге SDK / tools / proguard?

proguard.config = $ {sdk.dir} /tools/proguard/proguard-android.txt

1

Решение

Вы говорите, что изменяете proguard-project.txt, но используете ли вы этот файл? Вы изменили project.properties, чтобы они указывали на ваш файл вместо Android по умолчанию?

proguard.config=proguard-project.txt
0

Другие решения

Ваш project.properties Файл должен указывать на конфигурацию Android по умолчанию и на собственную конфигурацию вашего проекта:

proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt

Это стандартная строка в файлах свойств, которые генерирует Android SDK.

В вашем proguard-project.txt файл, вы можете добавить -keep варианты, чтобы избежать проблем с кодом, который выполняет отражение. В этом случае вы также должны добавить -dontwarn варианты, чтобы заверить ProGuard, что отсутствующие зависимости не являются проблемой на практике. Затем он продолжит обработку заявки.

Вы не должны добавлять -libraryjars опций, так как процесс сборки Android уже автоматически указывает все необходимое -injars, -outjars, а также -libraryjars для тебя.

0

По вопросам рекламы [email protected]