Intereting Posts
Android RecyclerView с помощью разделаIndexer Как обновить список навигационного ящика, как только он откроется / закрыт в Android Методы отражения не работают при использовании proguard для приложения android Лучшая практика внедрения обратной связи Retrofit для воссозданной деятельности? Цвет, зависящий от темы выбранных виджетов Освежающие производители (ClusterItems) в Google Maps v2 для Android Как передавать данные и открывать активность из виджета? Как создать намерение Android, которое несет данные? Как масштабировать изображение в ImageView, чтобы сохранить соотношение сторон Как включить выделенные меню по умолчанию в веб-обозревателе Android? Устаревшая альтернатива BitmapDrawable Клонирование источников Android на локальном сервере репозитория Панель контекстного действия Android-совместимости Android: когда / почему я должен использовать FrameLayout вместо Fragment? Как открыть счетчик одним щелчком мыши, когда открыт другой счетчик

Ant не перестраивает Android-приложение с помощью `ant debug install`

Начиная с чистого проекта, созданного с помощью:

android create project -n something -t android-7 -p something -k com.example.something -a Something 

Когда я запускаю ant debug install и открываю приложение в своем эмуляторе, я вижу (как и ожидалось)

Эмулятор снимок экрана из начальной сборки

Вот где все идет плохо. Теперь я изменяю что-то тривиальное в приложении. В этом примере я собираюсь удалить вызов setContentView из основного действия, чтобы он выглядел следующим образом:

 package com.example.something; import android.app.Activity; import android.os.Bundle; public class Something extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.main); REMOVED } } 

Теперь я перестраиваю приложение с ant debug install и запускаю его в эмуляторе. Я вижу это:

Эмулятор снимок экрана после перестройки

Это не верно. Я только что удалил текст с моим предыдущим редактированием. Если я делаю ant clean до ant debug install , я получаю ожидаемый результат:

Ожидаемый результат после восстановления

Я не хочу запускать ant clean перед каждым запуском ant debug install . Как я могу заставить муравья фактически перестроить программу без использования ant clean каждый раз?


Детали:

Вот результат ant debug install antital:

 $ ant debug install Buildfile: /home/x/android/something/build.xml -set-mode-check: -set-debug-files: -set-debug-mode: -debug-obfuscation-check: -setup: [echo] Gathering info for something... [setup] Android SDK Tools Revision 16 [setup] Project Target: Android 2.1 [setup] API level: 7 [setup] [setup] ------------------ [setup] Resolving library dependencies: [setup] No library dependencies. [setup] [setup] ------------------ [setup] [setup] WARNING: No minSdkVersion value set. Application will install on all Android versions. -build-setup: [echo] Creating output directories if needed... [mkdir] Created dir: /home/x/android/something/bin [mkdir] Created dir: /home/x/android/something/bin/res [mkdir] Created dir: /home/x/android/something/gen [mkdir] Created dir: /home/x/android/something/bin/classes -pre-build: -code-gen: [echo] ---------- [echo] Handling aidl files... [aidl] No AIDL files to compile. [echo] ---------- [echo] Handling RenderScript files... [renderscript] No RenderScript files to compile. [echo] ---------- [echo] Handling Resources... [aapt] Generating resource IDs... -pre-compile: -compile: [javac] Compiling 2 source files to /home/x/android/something/bin/classes -post-compile: -obfuscate: -dex: [dex] Converting compiled files and external libraries into /home/x/android/something/bin/classes.dex... -crunch: [crunch] Crunching PNG Files in source dir: /home/x/android/something/res [crunch] To destination dir: /home/x/android/something/bin/res [crunch] Crunched 0 PNG files to update cache -package-resources: [aapt] Creating full resource package... -package: [apkbuilder] Current build type is different than previous build: forced apkbuilder run. [apkbuilder] Creating something-debug-unaligned.apk and signing it with a debug key... -do-debug: [zipalign] Running zip align on final apk... [echo] Debug Package: /home/x/android/something/bin/something-debug.apk debug: [propertyfile] Creating new property file: /home/x/android/something/bin/build.prop [propertyfile] Updating property file: /home/x/android/something/bin/build.prop [propertyfile] Updating property file: /home/x/android/something/bin/build.prop [propertyfile] Updating property file: /home/x/android/something/bin/build.prop install: [echo] Installing /home/x/android/something/bin/something-debug.apk onto default emulator or device... [exec] 66 KB/s (4410 bytes in 0.065s) [exec] pkg: /data/local/tmp/something-debug.apk [exec] Success BUILD SUCCESSFUL Total time: 5 seconds 

Вот результат второй ant debug install после редактирования:

 $ ant debug install Buildfile: /home/x/android/something/build.xml -set-mode-check: -set-debug-files: -set-debug-mode: -debug-obfuscation-check: -setup: [echo] Gathering info for something... [setup] Android SDK Tools Revision 16 [setup] Project Target: Android 2.1 [setup] API level: 7 [setup] [setup] ------------------ [setup] Resolving library dependencies: [setup] No library dependencies. [setup] [setup] ------------------ [setup] [setup] WARNING: No minSdkVersion value set. Application will install on all Android versions. -build-setup: [echo] Creating output directories if needed... -pre-build: -code-gen: [echo] ---------- [echo] Handling aidl files... [aidl] No AIDL files to compile. [echo] ---------- [echo] Handling RenderScript files... [renderscript] No RenderScript files to compile. [echo] ---------- [echo] Handling Resources... [aapt] No changed resources. R.java and Manifest.java untouched. -pre-compile: -compile: [javac] Compiling 1 source file to /home/x/android/something/bin/classes -post-compile: -obfuscate: -dex: [dex] No new compiled code. No need to convert bytecode to dalvik format. -crunch: [crunch] Crunching PNG Files in source dir: /home/x/android/something/res [crunch] To destination dir: /home/x/android/something/bin/res [crunch] Crunched 0 PNG files to update cache -package-resources: [aapt] No changed resources or assets. something.ap_ remains untouched -package: [apkbuilder] No changes. No need to create apk. -do-debug: [zipalign] No changes. No need to run zip-align on the apk. [echo] Debug Package: /home/x/android/something/bin/something-debug.apk debug: [propertyfile] Updating property file: /home/x/android/something/bin/build.prop [propertyfile] Updating property file: /home/x/android/something/bin/build.prop [propertyfile] Updating property file: /home/x/android/something/bin/build.prop [propertyfile] Updating property file: /home/x/android/something/bin/build.prop install: [echo] Installing /home/x/android/something/bin/something-debug.apk onto default emulator or device... [exec] 88 KB/s (4410 bytes in 0.048s) [exec] pkg: /data/local/tmp/something-debug.apk [exec] Success BUILD SUCCESSFUL Total time: 3 seconds 

Обратите внимание, что -dex , -debug и -debug кажутся, что я ничего не менял.

Solutions Collecting From Web of "Ant не перестраивает Android-приложение с помощью `ant debug install`"

Я только что перешел на SDK r15 – в этом нет такой ошибки.

Загрузки все еще существуют:
http://dl.google.com/android/android-sdk_r15-linux.tgz
http://dl.google.com/android/android-sdk_r15-windows.zip
http://dl.google.com/android/installer_r15-windows.exe
http://dl.google.com/android/android-sdk_r15-macosx.zip

Самая важная проблема в bugtracker для Android для ошибки SDK r16:
http://code.google.com/p/android/issues/detail?id=23141

Я спрашивал об этом в # android-dev, видимо, есть ошибка в sdk r16, которая разбивает и шаги:

21:25 <pfn> У меня есть точная проблема с sdk r16
21:25 <pfn> Ответ заключается в том, чтобы удалить classes.dex и yourapp-debug.apk перед каждым отладчиком ant

К сожалению, это исправление, похоже, не работает, поэтому кажется, что мы застряли с чистой сборкой каждый раз.

Вам нужно обновить тестовый проект, чтобы изменения отображались, а затем выполните установку ant debug 1. ~ / android-sdks / tools / android update-project -m ../SampleProject/ -p ../SampleProjectTest / 2. ant debug install

Вот решение, которое работает для меня:

  1. Скопируйте рабочее пространство в другое место
  2. Удалить все проекты в текущей рабочей области. ВНИМАНИЕ не удалять на DISK
  3. Откройте терминал и напишите следующее 4.Close Eclipse.

     cd /home/user/workspace/.metadata/.plugins rm -rf org.eclipse.core.resources 
    • Запустить Eclipse
    • Сделайте File-> Import
    • Общие-> Существующие проекты в рабочее пространство
    • Выберите поле «Выбрать корневой каталог» и перейдите к каждой подпапке в папке рабочей области и импортируйте.