Как и многие разработчики Android, я хочу иметь две программы для MarketPlace - демо и полную версию - они обе имеют одинаковый код, но используют разные ресурсы.К сожалению, так как они имеют одинаковое пространство имен пакетов, их нельзя загружать на одно и то же устройство.Кстати, ресурсы находятся в папке ресурсов, а не в папке res.
Я хочу сделать второй apk через командную строку и извлечь его из первого apk , который был скомпилирован / собран с использованием IDE NetBeans / Eclipse.
Ответ, похоже, aapt и его опция --rename-package-manifest
, но я явно не понимаю, как его использовать.
Я делаю следующие шаги:
Создаю свой полный apk с помощью NetBeans
Распаковываю apk с помощью apktool
Добавить новые активы
Переименовать пакет с aapt
Перепакуйте в демо-версию, используя 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"
Любые идеи будут действительно приветствоваться.