я использую Dexguard в моем андроиде приложения для защиты от обратной engineering.Now в моем приложении, которое является очень большим, я использовал несколько мест System.out.println во многих классах, в которых я являюсь печатать URL-адрес моего сервера для отладки для моей легкости. Теперь, когда я выпускаю это приложение, и этот apk, который я предоставляю другим разработчикам, они могут видеть все объекты System.out.println в своем логарифме. как следует избегать этого. Это имеет серьезную проблему.Dexguard безопасность во время отладки
ответ
Прежде всего, вы не должны использовать System.out.println
непосредственно во всем мире. Используйте собственный класс-оболочку для ведения журнала.
В dexguard/proguard вы можете использовать assumenosideeffects
для удаления кодов, которые не нужны для выпуска.
Значительная оценка: System.out.print
Вы можете добавить следующие правила для вашего dexguard.
-assumenosideeffects class java.io.PrintStream {
public void println(%);
public void println(**);
}
Но это опасно, так как этот класс может использоваться для иных целей, кроме ведения журнала.
быстрый способ для вас будет использовать android.util.Log
вместо System.out.print
, а затем добавьте следующие
-assumenosideeffects class android.util.Log {
public static boolean isLoggable(java.lang.String, int);
public static int v(...);
public static int i(...);
public static int w(...);
public static int d(...);
public static int e(...);
}
хороший ответ на @vKashyap, вы также можете добавить это также. ..
-assumenosideeffects class java.lang.Exception {
public void printStackTrace();
}
Могли бы вы также сказать мне, как шифровать папки resourece в dexguard.it не работает. Я могу легко получить мои файлы макета, когда я декомпилирую свой apk? – abh22ishek
Это было бы более целесообразно поднять другой вопрос и/или связаться с поддержкой dexguard. Однако, я думаю, вы действительно заботитесь о файлах макетов? – scottyab
Да, это своего рода необходимый. – abh22ishek
Я написал это так много мест в моем приложении. Есть ли способ зашифровать их или отключить, выпуская apk ?? – abh22ishek
Разве это не то, что предложил @vKashyap? добавив эти фрагменты в ваш конфигурационный файл proguard/dexguard, и он удалит их из вашего скомпилированного кода выпуска. Ты это пробовал? – scottyab
благодарит его работу – abh22ishek