Подтвердить что ты не робот

Что именно делает команда "Исправить свойства проекта"?

Что делает "Project- > Android Tools- > Fix Project Properties"? Excllse команда exaclty?

Я читал много раз, чтобы использовать его, в основном в ответах, связанных с проблемами генерации Android R в Eclipse, но для меня это похоже на магию, я нажимаю на нее, и я полагаю, что она исправляет некоторые свойства проекта, но ничего не происходит. нет визуальной обратной связи, нет информации о том, какие свойства проекта были исправлены... любой может дать немного понимания о том, что именно это делает?

спасибо

4b9b3361

Ответ 1

Изучая исходный код ADT, в частности, в FixProjectAction, а также источник и комментарии для чтения, мы видим, что он вызывает:

ProjectHelper.fixProject(project);
ProjectHelper.fixProjectNatureOrder(project);
AndroidNature.configureResourceManagerBuilder(project);
AndroidNature.configurePreBuilder(project);
AndroidNature.configureApkBuilder(project);

ProjectHelper.fixProject(проект) делает:

  • создает проект Java
  • исправляет записи в classpath, чтобы убедиться, что:
    • проект не ссылается на старый архив android.zip/android.jar.
    • проект не использует свою папку вывода в качестве папки sourc
    • проект не ссылается на рабочий стол JRE
    • проект ссылается на объект AndroidClasspathContainer.

ProjectHelper.fixProjectNatureOrder(проект) изменяет структуру проекта, так что характер проекта Android в первую очередь.

AndroidNature.configureResourceManagerBuilder(проект) добавляет ResourceManagerBuilder, если его еще нет. Он будет вставлять себя в качестве первого конструктора.

AndroidNature.configurePreBuilder(проект) добавляет PreCompilerBuilder, если его еще нет. Он проверяет наличие ResourceManager и вставляет его сразу после.

AndroidNature.configureApkBuilder(проект) добавляет компоновщик .apk в конце, если он еще не существует.

Последние три вызова гарантируют, что у вас есть правильный строитель для вашего проекта. Когда вы посмотрите на раздел "Конструкторы" в свойствах проекта eclipse, вы увидите:

  • Менеджер ресурсов Android сначала
  • Предварительный сборщик Android после диспетчера ресурсов
  • Android Package Builder последним

Ответ 2

Другим результатом запуска "Исправить свойства проекта" в проекте является то, что любые другие проекты в том же рабочем пространстве, которые ссылаются на проект как на библиотеку Android, могут иметь банки, которые связаны в разделе "Зависимости Android" на пути построения проекта.

Это может привести к нескольким ссылкам на один и тот же файл jar или отсутствие ссылок на файл jar.

Исправить это, чтобы удалить эти ссылки из связанных проектов, удалить "Android Dependency" и повторно запустить "Исправить свойства проекта".