Выпуск 2 приложений на основе одного и того же кода, но с другим именем пакета - PullRequest
4 голосов
/ 17 января 2011

Как и многие разработчики Android, я хочу иметь две программы для MarketPlace - демо и полную версию - они обе имеют одинаковый код, но используют разные ресурсы.К сожалению, так как они имеют одинаковое пространство имен пакетов, их нельзя загружать на одно и то же устройство.Кстати, ресурсы находятся в папке ресурсов, а не в папке res.

Я хочу сделать второй apk через командную строку и извлечь его из первого apk , который был скомпилирован / собран с использованием IDE NetBeans / Eclipse.

Ответ, похоже, aapt и его опция --rename-package-manifest, но я явно не понимаю, как его использовать.

Я делаю следующие шаги:

  1. Создаю свой полный apk с помощью NetBeans

  2. Распаковываю apk с помощью apktool

  3. Добавить новые активы

  4. Переименовать пакет с aapt

  5. Перепакуйте в демо-версию, используя apktool .

Однако я не могу получить шаг 4 - этап переименования aapt .Я видел так много потоков в Интернете по этому поводу, но без явного примера.

Затем я попробовал самую простую из программ, чтобы проверить это - Hello World, используя шаги здесь .

Hello World прекрасно работает с использованием параметров командной строки, он собирает и работает как на эмуляторе, так и на устройстве.

Однако, когда я использую команду aapt --rename-manifest-package,выдает множество ошибок.

Используемая мной команда:

  aapt package -f -v 
         -M c:\android-sdk-windows\tools\hellow\AndroidManifest.xml 
         -S c:\android-sdk-windows\tools\hellow\res
         —rename-package-manifest com.myname.demo

Ошибки как в main.xml, так и в AndroidManifest.xml имеют вид:

"Не найден идентификатор ресурса для атрибута layout_width"

Любые идеи будут действительно приветствоваться.

1 Ответ

2 голосов
/ 17 января 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...