Используйте import test1
для первого использования - он выполнит сценарий. Для последующих вызовов обработайте скрипт как импортированный модуль и вызовите метод reload(test1)
.
Когда выполняется
reload(module)
:blockquote>
- Код модулей Python перекомпилирован, и код модуля-уровня повторно выполняется, определяя новый набор объектов, которые привязаны к именам в словаре модуля. Функция init модулей расширения не называется
Простую проверку
sys.modules
можно использовать для вызова соответствующего действия. Чтобы ссылаться на имя сценария в виде строки ('test1'
), используйте встроенный 'import ()' .import sys if sys.modules.has_key['test1']: reload(sys.modules['test1']) else: __import__('test1')
Для создания apk вручную, выполните следующие действия, если вы не хотите использовать ant / gralde для сборки.
R.java
из aapt
javac
для компиляции всего java-источника в *.class
dx
для преобразования всех файлов *.class
в dex
, например output classes.dex
AndroidManfiest.mk
, например, вывод MyApplication.apk.unaligned
aapt
для добавления classes.dex
, сгенерированного на шаге 3 на MyApplication.apk.unaligned
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/
alijandro дал прекрасный ответ. Мне удалось написать простой скрипт ANT, который создает APK с APM с AdMob и без использования градиента. Несколько полезных комментариев:
javac
и dx
) и запустить proguard
на нем 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
AdMob
есть еще несколько простых простых шагов конфигурации Gradle
очень много работает с проектами android, поэтому собственный скрипт выглядит как единственное решение для проектов, которые собираются вступить в производство