Есть ли инструмент Android, который изменит имя пакета проекта с помощью командной строки. Я не хочу использовать Eclipse Android Tools → Переименовать пакет приложений.
Как изменить имя пакета приложения для приложения Android через командную строку
Ответ 1
Если вы хотите сделать это как одноразовое изменение источника, вы можете использовать инструмент командной строки Android android update project
Документация находится в [документах разработчика] [1].
Если вы хотите сделать это динамически во время каждой сборки, вам понадобится пользовательский ant build script для передачи аргументов в aapt
К сожалению, вы не можете использовать задачу по умолчанию, поскольку она не поддерживает установку опции --rename-манифест-пакет.
Вам нужно добавить следующую цель в файл build.xml
android
по умолчанию android
создает командную строку; добавьте его до <import file="${sdk.dir}/tools/ant/build.xml" />
<!-- Replaces the target in tools\ant\build.xml -->
<target name="-package-resources" depends="-crunch">
<!-- this exec replicates the output of the aapt task in build.xml
-package-resources with the addition of a rename-manifest-package option. -->
<exec executable="${aapt}" failonerror="true">
<arg value="package" />
<arg value="-f" />
<arg value="--auto-add-overlay" />
<arg value="-M" />
<arg path="${basedir}/AndroidManifest.xml" />
<arg value="-S" />
<arg path="${resource.absolute.dir}" />
<arg value="-S" />
<arg path="${basedir}/${android.library.reference.1}/${resource.dir}" />
<arg value="-A" />
<arg path="${asset.absolute.dir}" />
<arg value="-I" />
<arg path="${android.jar}" />
<arg value="-F" />
<arg path="${out.absolute.dir}/${resource.package.file.name}" />
<arg value="--rename-manifest-package" />
<arg value="${package.manifest.name}" />
</exec>
</target>
Свойство package.manifest.name
будет содержать имя пакета. Вы можете установить это в файле свойств или в качестве опции командной строки -Dpackage.manifest.name=value
Вы также можете расширить это, чтобы переименовать выход apk на основе свойства.
Этот вопрос охватывает получение информации о версии из манифеста для добавления в имя вывода apk: Как включить строку версии в имя файла при создании Android apk с ant?
Вам нужно посмотреть файл build.xml, который импортируется, чтобы получить представление о том, что вам нужно будет переопределить.
Вы можете продолжать добавлять переопределения правил в локальный файл build.xml, но из-за уровня настройки, который вам нужно сделать, я бы подумал о том, чтобы непосредственно скопировать файл build.xml из инструментов android и изменить его, а не используя его как импорт. Это означает больше работы, убедившись, что она по-прежнему работает с каждым обновлением в цепочке инструментов Android.