Тот же проект, но настроенный и устанавливаемый вместе? - PullRequest
1 голос
/ 01 июня 2011

У меня есть небольшой проект Android, который я использую в качестве основного проекта.Из этого основного проекта я хочу быть в состоянии сделать настройки.

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

Это я знаю, какделать.(У меня будет два отдельных файла apk, оба с одним и тем же кодом, но с разными ресурсами)

Однако я хочу иметь возможность установить основной проект и настройку на одном устройстве одновременно.В настоящее время один перезапишет другой.

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

Можно ли изменить что-то в xml, что позволит мне иметь два проекта, использующих одинаковые файлы Java, но с разными ресурсами?

Ответы [ 2 ]

2 голосов
/ 01 июня 2011

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

2 голосов
/ 01 июня 2011

Вы должны использовать библиотеки Android.

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

Один недостаток: вам нужно иметь почти идентичные копии AndroidManifest.xml файлов в вашем приложении Android (но они все равно должны иметь разные имена пакетов).

Для получения дополнительной информации:

  1. Документация Android: Настройка до проекта библиотеки Android
  2. Мой пост: Приложение Android, библиотеки Android и библиотеки Jar. В этом разделе описывается работа библиотек Android.
...