2013-12-11 3 views
2

У нас есть приложение с объявленным именем пакета как com.foo.app в AndroidManifest.xmlКак указать имя пакета R.java будет отличаться от имени приложения пакета

Для некоторых особых причин, чтобы играть некоторый трюк, мы хотим намеренно указать имя пакета сгенерированного R.java с именем пакета com.bar.resource. И без изменения имя пакета приложения (все еще сохраняется как com.foo.app).

Например, у меня есть приложение, использующее com.foo.app, я хочу, чтобы сгенерированное имя пакета R.java было com.bar.resource. И в исходном коде моей заявки я буду использовать ссылку, как com.bar.resource.id.btn_ok

Мы знаем, что мы не должны трогать содержимое R.java. И, конечно, мы можем вручную изменить его и построить окончательное приложение, так как это просто статический класс с константами.

Но есть ли какой-либо настраиваемый параметр в ADT/Eclipse для этого проекта Android?


Пожалуйста, прекратите говорить мне, как изменить название пакета с помощью Eclipse, метода рефакторинга. Пожалуйста, правильно поймите мой вопрос. Я спрашиваю, как указать имя пакета автогенерированное R.java. Который я хочу, чтобы это было разные из имени пакета приложения, указанного в AndroidManifest.xml.

+0

Проверка: [Переименование пакета в проекте проекта eclipse android] (http://stackoverflow.com/questions/3697899/package-renaming-in-eclipse-android-project) –

+0

Спасибо за вашу информацию, но я хочу другой пакет имя для R.java – Robin

+0

Что вы подразумеваете под другим именем пакета для R.java? –

ответ

1

Откройте папку src в проводнике пакетов, а затем щелкните правой кнопкой мыши по com.foo.resource, затем нажмите на рефакторинг, а затем переименуйте имя пакета, и все соответствующие записи также будут переименованы.

+0

Привет, вы неправильно поняли мой вопрос. Я прошу изменить автоматически созданный исходный код R.java. Не созданный вручную пакет ресурсов. – Robin

+0

, так что вы хотите изменить код R.java? –

+0

попробуйте переименовать папку gen и удалить предыдущую – ARK

0

Выполните следующие действия, чтобы изменить имя пакета, если вы используете Eclipse,

  1. правой кнопкой мыши на имени пакета.
  2. Выбрать Рефакторинг> Переименовать
  3. Открыть файл манифеста. Внутри тега измените имя пакета.
  4. импортируйте пакет в соответствующие классы по мере его изменения.
1

Я недавно запустил ту же самую проблему и нашел лучшее решение, чтобы иметь меньший подпроект, который я ссылаюсь на имя пакета, которое я хочу.

Я использую ADT, поэтому у меня есть

| проект Родитель |

-> Подпроект |

Я использую ADT, а субпроект отмечен как проект библиотеки и ссылается на (как на Android, Java Build Path, так и на Project Dependencies), поэтому родительский проект получает ссылки на все ресурсы там, поэтому я могу дайте ему любое имя пакета, которое я хочу.

Я выбрал быстрый и грязный пример этой установки на https://github.com/SixMinute/AndroidSeparatePackageResources.

Это не абсолютно идеальная установка, но она определенно работает лучше всего и проще всего для нас, надеюсь, она вам поможет.

0

Название пакета R.java зависит от имени пакета, которое вы определяете в файле манифеста.