как использовать -assumenosideeffects класс android.util.Log в моем приложении - PullRequest
5 голосов
/ 20 июня 2011

Я пишу -assumenosideeffects class android.util.Log в моем приложении. но как это использовать.

-assumenosideeffects class android.util.Log 
{
    public static int d(...);
    public static int v(...);
    public static int i(...);
    public static int e(...);
}

в proguard.cfg файле. но не работает.

Ответы [ 5 ]

7 голосов
/ 13 августа 2014

В руководстве сказано, что -assumenosideffects - это "Применяется только при оптимизации" .

${sdk.dir}/tools/proguard/proguard-android.txt говорит: «Оптимизация отключена по умолчанию. Dex не любит, когда код выполняется через шаги оптимизации и предварительной проверки ProGuard» .

http://researcharea.blogspot.com/2012/04/assumenosideeffects-not-working-in.html

5 голосов
/ 28 декабря 2015

По словам Шона Оуэна и @ Евгения Кулика.

В Gradle используйте это:

proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'

Затем добавьте ниже в ваш proguard-rules.pro

-assumenosideeffects class android.util.Log { public * ; }
3 голосов
/ 20 июня 2011

Попробуйте -assumenosideeffects class android.util.Log { public * ; }.Если это не сработает, напишите, почему вы думаете, что это не работает.

1 голос
/ 12 октября 2014

ниже работает точно

-assumenosideeffects class android.util.Log {

public static *** d(...);

}

Точно так же вы можете использовать i, v и е.

0 голосов
/ 19 июня 2014

Забыли "публичный" модификатор доступа?

-assumenosideeffects public class android.util.Log
...