построить проект андроида без градиента (сценарий оболочки, makefile и т. д.) [дублировать]

Используйте import test1 для первого использования - он выполнит сценарий. Для последующих вызовов обработайте скрипт как импортированный модуль и вызовите метод reload(test1) .

Когда выполняется reload(module):

  • Код модулей Python перекомпилирован, и код модуля-уровня повторно выполняется, определяя новый набор объектов, которые привязаны к именам в словаре модуля. Функция init модулей расширения не называется
blockquote>

Простую проверку sys.modules можно использовать для вызова соответствующего действия. Чтобы ссылаться на имя сценария в виде строки ('test1'), используйте встроенный 'import ()' .

import sys
if sys.modules.has_key['test1']:
    reload(sys.modules['test1'])
else:
    __import__('test1')

3
задан aoeu 14 December 2016 в 01:29
поделиться

4 ответа

Для создания apk вручную, выполните следующие действия, если вы не хотите использовать ant / gralde для сборки.

  • создать R.java из aapt
  • использовать javac для компиляции всего java-источника в *.class
  • использовать dx для преобразования всех файлов *.class в dex, например output classes.dex
  • создать исходную версию APK из активов, ресурсов и AndroidManfiest.mk, например, вывод MyApplication.apk.unaligned
  • использовать aapt для добавления classes.dex, сгенерированного на шаге 3 на MyApplication.apk.unaligned
  • использовать jarsigner для подписи MyApplication.apk.unaligned с помощью отладки или клавиши release
  • использовать zipalign для выравнивания конечного APK, например, выход MyApplication-debug.apk или MyApplication-release.apk при подписании с ключом освобождения
  • Выполнено

У меня есть созданный образец сценария для выполнения всех вышеперечисленных материалов, см. здесь

На самом деле, некоторые статьи обсуждали этот вопрос, см. следующие ссылки.

https://www.apriorit.com/dev-blog/233-how-to-build-apk-file-from-commandline

https: // spin.atomicobject.com/2011/08/22/building-android-application-bundles-apks-by-hand/

11
ответ дан alijandro 18 August 2018 в 18:13
поделиться
  • 1
    Спасибо, это именно то, что я хотел знать! Хорошие сценарии оболочки и спасибо за статьи. – aoeu 16 December 2016 в 23:26
1
ответ дан Inverce 18 August 2018 в 18:13
поделиться

Взгляните на этот удивительный учебник

0
ответ дан PYK 18 August 2018 в 18:13
поделиться

alijandro дал прекрасный ответ. Мне удалось написать простой скрипт ANT, который создает APK с APM с AdMob и без использования градиента. Несколько полезных комментариев:

  1. Если вы хотите обфускать классы, вы должны скомпилировать скомпилированные классы (между шагами javac и dx) и запустить proguard на нем
  2. Для AdMob вам нужно извлечь следующие банки из архивов zip (например, C:\Users\<User>\AppData\Local\Android\sdk\extras\google\m2repository\com\google\android\gms\play-services-ads\10.2.6\play-services-ads-10.2.6.aar): play-services-ads-10.2.6.jar play-services-ads-lite-10.2.6.jar play- services-base-10.2.6.jar play-services-basement-10.2.6.jar play-services-clearcut-10.2.6.jar play-services-gass-10.2.6.jar play-services-tasks-10.2. 6.jar

Эти архивы должны быть переданы в javac и dx

  1. Для AdMob есть еще несколько простых простых шагов конфигурации

Gradle очень много работает с проектами android, поэтому собственный скрипт выглядит как единственное решение для проектов, которые собираются вступить в производство

0
ответ дан rupashka 18 August 2018 в 18:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: