Когда я компилирую проект Android в Eclipse, он не генерирует ни скрипты Ant, ни что-либо еще, поэтому я предполагаю, что он использует компилятор Eclipse для генерации файлов .class и dx
для их перевода в .dex.Так что это нормально, и я знаю, что компилятор Eclipse отличается от javac
и не может быть изменен.
Но когда я использую android
для генерации файла build.xml
, я вижу, чтоон ссылается на другие файлы Ant, и в итоге я могу отследить фактический вызов до javac
.У меня есть несколько вопросов по этому поводу.
- Я новичок в муравьях.Соответствует ли команда
<javac>
Ant команде javac
, указанной в моей переменной JAVA_HOME
env?Или это что-то еще? - Когда вы используете опцию «Экспорт приложения» в Eclipse, он все еще использует компилятор Eclipse?Буду ли я всегда вынужден использовать другой компилятор в Ant и в Eclipse?
- Могу ли я указать любой компилятор, который мне нужен, если я изменю файл
build.xml
и изменим цель "compile"?
Меня не особо волнует, какой компилятор я использую, мне просто любопытно.Главное, что мне нужно, это убедиться, что я использую современный компилятор и могу ожидать всех обычных оптимизаций (например, интернирование строковых литералов). Правильно ли я предположил это?
PS Говоря об оптимизации, dx
делает что-то более причудливое, чем просто перевод одного байт-кода в другой?