2016-02-16 13 views
13

Mit einem ASUS ZenPad10 passiert, dass ich irgendwann eine Anwendung ausführen, sondern stattdessen die alte gestartet werden. Ich denke also, etwas repariert zu haben, aber tatsächlich teste ich die Version, die immer noch den Bug hat und viel Zeit verliert.Android Studio nicht neue Versionen aktualisieren

Mit anderen Tabletten passiert das nicht. Außerdem muss ich ADB deaktivieren, um die App auf dem Tablet zu starten. Mit einem Nexus 10 muss ich nichts davon tun.

In dem/data/app-Verzeichnis gibt es auch alle Verzeichnisse (wie "myapp /") anstelle von APKs (wie "myapp.apk"), wie im Nexus 10.

Jede Idee, die Probleme zu vermeiden mit der Aktualisierung?

Ich frage mich, ob "Verify Apps über USB" die Ursache sein kann, aber ich kann es nicht auf dem ASUS deaktivieren.

Ich denke, es ist nicht nötig, aber das ist meine Haupt gradle Datei:

// Top-level build file where you can add configuration options common to all sub-projects/modules. 
buildscript { 
    repositories { 
     maven { url "http://dl.bintray.com/populov/maven" } 
     mavenCentral() 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:1.+' 
    } 
} 

allprojects { 
    repositories { 
     mavenCentral() 
     jcenter() 
     maven { 
      url 'https://github.com/suckgamony/RapidDecoder/raw/master/repository' 
     } 
    } 
} 

task wrapper(type: Wrapper) { 
    gradleVersion = '2.5' //version required 
} 

Und das ist meine App gradle Datei:

apply plugin: 'com.android.application' 

dependencies { 
    compile fileTree(include: '*.jar', dir: 'libs') 
    compile project(':Structure:StructureExam') 
    compile 'com.github.bmelnychuk:atv:1.2.+' 
    compile 'com.github.johnkil.print:print:1.3.1' 
    compile 'de.codecrafters.tableview:tableview:0.9.6' 
} 

android { 
    compileSdkVersion 23 
    buildToolsVersion '23.0.1' 

    signingConfigs { 
     release { 
      storeFile file("../../myfile.jks") 
      storePassword "mypass" 
      keyAlias "myalias" 
      keyPassword "mypass" 
     } 
    } 

    buildTypes { 
     release { 
      signingConfig signingConfigs.release 
     } 
    } 

    lintOptions { 
     checkReleaseBuilds false 
     // Or, if you prefer, you can continue to check for com.centervue.lib_util.errors in release builds, 
     // but continue the build even when com.centervue.lib_util.errors are found: 
     abortOnError false 
    } 

    sourceSets { 
     main { 
      manifest.srcFile 'AndroidManifest.xml' 
      java.srcDirs = ['src'] 
      resources.srcDirs = ['src'] 
      aidl.srcDirs = ['src'] 
      renderscript.srcDirs = ['src'] 
      res.srcDirs = ['res'] 
      assets.srcDirs = ['assets'] 
     } 

     // Move the tests to tests/java, tests/res, etc... 
     instrumentTest.setRoot('tests') 

     // Move the build types to build-types/<type> 
     // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ... 
     // This moves them out of them default location under src/<type>/... which would 
     // conflict with src/ being used by the main source set. 
     // Adding new build types or product flavors should be accompanied 
     // by a similar customization. 
     debug.setRoot('build-types/debug') 
     release.setRoot('build-types/release') 
    } 
} 
+0

reinigen/Projekt neu und es dann erneut versuchen. Deinstallieren Sie die Anwendung vom Gerät und versuchen Sie es dann. –

+0

Ich kann es funktionieren lassen. Aber ich muss die Anwendung nicht jedes Mal manuell reinigen/deinstallieren, da sie in anderen Geräten nicht benötigt wird. Danke für die Antwort aber :) – Filnik

+0

Hast du Instanzenlauf überprüft? Wenn ja, dann aktivieren Sie auch die Option App neustarten. Inastate run hat das Problem, keine neue Version von apk auszuführen, wenn die App nicht neu gestartet wird. – Shvet

Antwort

6

Es sieht aus, Sie haben sofort-ON (das ist standardmäßig). Diese Funktion führt dazu, dass nur geänderter Code an App auf Gerät gesendet wird. dass

Deaktivieren Sie: [Einstellungen/Einstellungen] -> Build, Ausführung, Bereitstellung -> Instant Run: Deaktivieren Sie "Instant Run zu Hot-Swap-Code aktivieren ..." "

Alternativ können Sie verwenden sauber und Rerun 'App' von Run (^ ⌘R)

+0

Entschuldigung für die Verspätung, ich war krank ohne Computer :(aber Sie ist die richtige Antwort. Vielen Dank für die Hilfe :) – Filnik

+1

FYI: [Instant Run/Hot Swap wurde in Android 2.0 eingeführt] (http://tools.android .com/tech-docs/instant-run). – Pang

2

In Android Studio gehe zu laufen -> Konfigurationen bearbeiten. .. und unter App und der allgemeinen Registerkarte überprüfen Sie, ob Sie Gradle-aware Make unter "vor dem Start" haben. wenn nicht, fügen Sie es mit dem Plus hinzu.

Sie sollten auch sicherstellen, dass alles in Ihrem build.gradle korrekt ist, insbesondere unter defaultConfig.

Dies sind häufige Korrekturen für das Problem, aber es ist seltsam, dass nur ein bestimmtes Gerät das Problem hat. Ich werde weiter nachforschen und diese Antwort bearbeiten, wenn ich eine Lösung finde, aber versuche diese erst einmal.

+0

Ich habe Gradle-aware make in meiner Startkonfiguration. Ich habe meine Gradle-Dateien auch hinzugefügt.Trotzdem danke. – Filnik

2

Der Grund ist wegen der Enable ADB Integration.

Wenn ich es vergessen habe, weil ich den Debugger verwende, wird es entweder die neue Anwendung nicht korrekt oder es startet nur die alte Anwendung.

Keine Ahnung, warum. Wenn Sie es deaktivieren, wird alles gut funktionieren. Obwohl es wirklich ein Schmerz ist, so zu programmieren. Irgendeine Idee von dem Grund, warum das auf einem Nexus nicht funktioniert, aber es auf einem ASUS tut?

Verwandte Themen