Мне было интересно, можете ли вы использовать трюк компилятора для включения различных функций для бесплатной и платной версии приложения. Например:Android бесплатное/платное приложение с использованием трюка компилятора
public static final boolean paid = false;
if (paid){
runPaidMethod();
}
else {
runFreeMethod();
}
компилятор будет смотреть на это и сказать, что он не нуждается в первую ветвь, если заявление, поэтому он не будет компилировать его. Кроме того, он должен посмотреть на программу и увидеть, что runPaidMethod()
больше не ссылается нигде и удаляет его.
Поэтому возникает вопрос: возможно ли иметь этот флаг, скомпилировать его один раз бесплатно, обменять флаг, а затем скомпилировать его снова для оплаты?
JIT работает на * bytecode *, Java-компилятор работает с * исходным кодом *. О чём вы говорите? –
Если бы я сделал ставку, я бы перевел это как «лучший способ получить эквивалент ifdef в java?» :-) – davidcesarino
Я думаю, что компилятор Java. Я бы хотел, чтобы платные методы удалялись из бесплатной версии, чтобы злоумышленник не мог скомпилировать, изменить флаг на true и затем запустить платные методы. –