Android App wird am Ende von onClick (View v) beendet

  • Antworten:46
  • Bentwortet
Gerhard
  • Forum-Beiträge: 36

06.04.2020, 20:25:48 via Website

Hallo zusammen,
ich bin dabei, eine Android App zu schreiben (mit Android Studio). Ich habe eine Start-Activity mit u.a. einem Button. Der Button ist mit einem OnClickListener verbunden. Bei Klick auf den Button wird onClick (View v) aufgerufen und arbeitet alles ab, was darin steht. Aber wenn onClick beendet wird, beendet sich die ganze App.

Ich hatte in der Methode schon den Aufruf eines Servlets, das klappt soweit einwandfrei: Im Servlet kommen die richtigen Daten an, und die App empfängt auch die Response des Servlets.

Um das Problem einzugrenzen, habe ich den Servlet-Aufruf erstmal wieder entfernt: Auch bei fast leerer onClick-Methode wird die App beendet, wenn ich im Debugger von der schliessenden Klammer der Methode einen Schritt weiter gehe.

Hier die Implementierung:

public class LoginActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);

    final Button loginButton = (Button) findViewById(R.id.loginButton);
    loginButton.setOnClickListener(new Button.OnClickListener() {
        public void onClick(View v) {
            EditText userNameText = (EditText) findViewById(R.id.userNameInput);
            final String userName = userNameText.getText().toString();
        }
    });
}
}

Woran kann es liegen? Vielen Dank für eure Hilfe
Gerhard

Kommentieren
swa00
  • Forum-Beiträge: 3.704

06.04.2020, 20:30:09 via Website

Hallo,

ein ErrorLog würde grundsätzlich schon sehr weiterhelfen .
Was sagt dein Debugging ?

final String userName = userNameText.getText().toString();

Das "final" macht an dieser Stelle keinen Sinn - nimm mal alle deine finals heraus
Ist deine Edit -Resource auch vorhanden ?

— geändert am 06.04.2020, 20:34:04

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Kommentieren
Gerhard
  • Forum-Beiträge: 36

06.04.2020, 21:01:07 via Website

Hallo Stefan,

danke für die superschnelle Antwort.

Ich vergaß zu schreiben, daß ich keinerlei Exception oder ähnliches sehe, nirgends nie nicht. Nur im Consolenfenster im Android Studio:
Connected to the target VM, address: 'localhost:8600', transport: 'socket'
Disconnected from the target VM, address: 'localhost:8600', transport: 'socket'

Und das Entfernen der finals bringt keinen Unterschied: Der Listener springt richtig an und bekommt den Text des Edit-Feldes (ja, das ist natürlich da und korrekt auslesbar), und nach der onClick wird die App beendet.

Im Debugging-Mode des Android Studio kann ich alle Statements als Breakpoints setzen (in onCreate und in onClick), da wird alles richtig durchlaufen. Nur daß ich eben nach der onClick in der App noch weitermachen möchte.

Viele Grüße
Gerhard

Hilfreich?
Kommentieren
swa00
  • Forum-Beiträge: 3.704

06.04.2020, 21:31:49 via Website

Hallo Gerhardt,

ich sehe auch eigentlich keinen Fehler . Das müsste so rennen .
Gehe mal auf LogCat -> errors -> und schau mal nach was dort steht ?

Wie testest du ? ADB/USB ? Emulator ?

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Gerhard
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

06.04.2020, 21:43:24 via Website

Hallo woher weißt du das der Listner richtig anspringt?

Ist das der gesamte Code oder hast du ihn gekürzt.
Hast du vielleicht noch eine Ausgabe die du nicht gezeigt hast?

Hilfreich?
swa00
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

06.04.2020, 21:56:36 via Website

benutze mal nicht den Button.OnClickListener()

sondern den richtigen View.OnClickListener

loginButton.setOnClickListener(new View.OnClickListener() {

Hilfreich?
Gerhard
Kommentieren
Gerhard
  • Forum-Beiträge: 36

06.04.2020, 23:07:44 via Website

Hallo,

ich teste über USB-Kabel auf meinem Motorola Handy. Motorola ist wohl die Ursache, daß die Logcat-Ausgabe ernorm zugemüllt wird. Auf deinen Hinweis hin fand ich darin u.a.:

E/art: invalid stream - problem with parameter iterator in /data/app/com.google.android.gms-1/base.apk:classes3.dex for method void com.google.android.gms.org.conscrypt.ConscryptFileDescriptorSocket.setSoWriteTimeout(int)

E/Surface: getSlotFromBufferLocked: unknown buffer: 0xb8f2d408

E/DeviceStateChecker: DeviceStateChecker cancelled

E/dex2oat: Failed to create oat file: /data/dalvik-cache/arm/data@app@testpackage-1@split_lib_dependencies_apk.apk@classes.dex: Permission denied

Mir helfen diese Meldungen aber auch nicht weiter.

Viele Grüße
Gerhard

Hilfreich?
Kommentieren
swa00
  • Forum-Beiträge: 3.704

06.04.2020, 23:10:40 via Website

Mir helfen diese Meldungen aber auch nicht weiter.

Uns auch leider nicht , weil sie eine allgemeine Meldung und keine App-spezifische ist :-)

Du kannst auch mal nach der App filtern und mal schauen nach dem Schlüsselwort "Caused"

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

07.04.2020, 05:09:43 via Website

Hallo hast du das mit dem listner geändert und auch versucht?

Bis auf das du "Button" statt "View" benutzt ist der Code OK.

Versuche das erst bevor wir hier weiter machen.
Und wie schon gesagt das final weg beim String. Aber das würde nicht zum Abbruch führen.

— geändert am 07.04.2020, 06:39:13

Hilfreich?
Gerhard
Kommentieren
Gerhard
  • Forum-Beiträge: 36

07.04.2020, 20:46:29 via Website

Hallo zusammen,

jetzt habe ich den View.OnClickListener verwendet: Kein sichtbarer Unterschied.

Die Source enthält noch die ganzen auskommentierten Zeilen, wo der Servlet-Zugriff implementiert war; aber das kann es ja auch nicht sein.

Daß der Listener anspringt, habe ich daran gemerkt, daß der Breakpoint angesprungen wurde, und daran, daß ja das Servlet aufgerufen und mit den richtigen Daten versorgt wurde, bevor ich das eben auskommentiert habe.

Jetzt habe ich die App mal im Run-Modus gestartet, nicht im Debug (auch aus Android Studio heraus und über USB-Kabel, aber mit dem Run-Button; damit stürzt die App nicht mehr ab. Und ich habe ein System.out.println eingefügt: Der Text wird tatsächlich ausgegeben, also springt auch hier der Listener an.

Daraufhin habe ich mal bei Edit Configuration reingeschaut und bei Debugger den Debug Type "Java" eingetragen (ja stand vorher: "Java", glaube ich). Nochmal getestet: die App bleibt bestehen. Nochmal IM DEBUG-MODUS (!) getestet: Die App bleibt bestehen.

Es wäre mir wohler, wenn ich jetzt wüsste, woran es gelegen hat :-) Aber ich denke, wir lassen es einfach so.

Bestätigt man in einem solchen Fall, daß eure Antworten hilfreich waren? Also danke jedenfalls für eure Zeit. Viele Grüße
Gerhard

Hilfreich?
Pascal P.
Kommentieren
Gerhard
  • Forum-Beiträge: 36

23.04.2020, 17:38:25 via Website

Hallo zusammen,
nach einer Unterbrechung bin ich wieder an meiner App, und das beschriebene Problem ist auch wieder da (auch mit Debug Type Java in der Debug Configuration): Ich kann im Debug-Modus die onClick-Methode des Buttons durchsteppen, bis zur schließenden Klammer der onClick. Mit dem nächsten F8 wird die App beendet.

Eure Empfehlungen habe ich eingearbeitet: Ich benutze setOnClickListener(new View.OnClickListener() {...}, Strings sind nicht final.

Ich habe aber jetzt festgestellt, daß das Verhalten irgendwie geräte-abhängig ist: Auf einem anderen Handy (Android 7.1) geht es einwandfrei. Meines ist Android 6.0; ich habe min-, target- und compileSdkVersion 23 in der build.gradle eingetragen.

Viele Grüße
Gerhard

Hilfreich?
Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

23.04.2020, 17:46:51 via App

Poste mal am besten deinen ganzen Error Log, vielleicht sieht man ja doch was.
Wenn du nur einen Listener mit einer Log Meldung oder Toast machst besteht das Problem weiter?
Ansonsten muss es irgendwo in Listener sein

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Kommentieren
Gerhard
  • Forum-Beiträge: 36

23.04.2020, 18:03:40 via Website

Ich habe aus dem Listener versuchsweise schon alles rausgeworfen; der komplette Listener ist momentan:
loginButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
EditText userNameText = (EditText) findViewById(R.id.userNameInput);
userName = userNameText.getText().toString();
EditText passwordText = (EditText) findViewById(R.id.passwordInput);
password = passwordText.getText().toString();
}
});

Das Logcat-Fenster wird auch vor Starten und nach Beenden der App fleißig weiter beschrieben, auch bei "Show only selected application"; ich weiß nicht, wie ich das auf die Meldungen beschränken kann, die zu meiner App gehören. Das komplette Logcat (oder der Logcat?) bei Level Info ist:
04-23 18:03:07.980 30801-30801/? I/art: Late-enabling -Xcheck:jni
04-23 18:03:08.023 30801-30801/? W/ActivityThread: Application dreikonapp.mincom2s.de.dreikonapp is waiting for the debugger on port 8100...
04-23 18:03:08.024 30801-30801/? I/System.out: Sending WAIT chunk
04-23 18:03:08.254 30801-30807/dreikonapp.mincom2s.de.dreikonapp I/art: Debugger is active
04-23 18:03:08.425 30801-30801/dreikonapp.mincom2s.de.dreikonapp I/System.out: Debugger has connected
04-23 18:03:08.425 30801-30801/dreikonapp.mincom2s.de.dreikonapp I/System.out: waiting for debugger to settle...
04-23 18:03:08.625 30801-30801/dreikonapp.mincom2s.de.dreikonapp I/System.out: waiting for debugger to settle...
04-23 18:03:08.825 30801-30801/dreikonapp.mincom2s.de.dreikonapp I/System.out: waiting for debugger to settle...
04-23 18:03:09.025 30801-30801/dreikonapp.mincom2s.de.dreikonapp I/System.out: waiting for debugger to settle...
04-23 18:03:09.225 30801-30801/dreikonapp.mincom2s.de.dreikonapp I/System.out: waiting for debugger to settle...
04-23 18:03:09.426 30801-30801/dreikonapp.mincom2s.de.dreikonapp I/System.out: waiting for debugger to settle...
04-23 18:03:09.626 30801-30801/dreikonapp.mincom2s.de.dreikonapp I/System.out: waiting for debugger to settle...
04-23 18:03:09.826 30801-30801/dreikonapp.mincom2s.de.dreikonapp I/System.out: debugger has settled (1416)
04-23 18:03:09.892 30801-30801/dreikonapp.mincom2s.de.dreikonapp W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm --instruction-set-features=smp,-div,-atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=cortex-a53 --instruction-set-features=default --dex-file=/data/app/dreikonapp.mincom2s.de.dreikonapp-2/split_lib_dependencies_apk.apk --oat-file=/data/dalvik-cache/arm/data@app@dreikonapp.mincom2s.de.dreikonapp-2@split_lib_dependencies_apk.apk@classes.dex) because non-0 exit status
04-23 18:03:10.208 30801-30801/dreikonapp.mincom2s.de.dreikonapp W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm --instruction-set-features=smp,-div,-atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=cortex-a53 --instruction-set-features=default --dex-file=/data/app/dreikonapp.mincom2s.de.dreikonapp-2/split_lib_slice_0_apk.apk --oat-file=/data/dalvik-cache/arm/data@app@dreikonapp.mincom2s.de.dreikonapp-2@split_lib_slice_0_apk.apk@classes.dex) because non-0 exit status
04-23 18:03:10.267 30801-30801/dreikonapp.mincom2s.de.dreikonapp W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm --instruction-set-features=smp,-div,-atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=cortex-a53 --instruction-set-features=default --dex-file=/data/app/dreikonapp.mincom2s.de.dreikonapp-2/split_lib_slice_1_apk.apk --oat-file=/data/dalvik-cache/arm/data@app@dreikonapp.mincom2s.de.dreikonapp-2@split_lib_slice_1_apk.apk@classes.dex) because non-0 exit status
04-23 18:03:10.321 30801-30801/dreikonapp.mincom2s.de.dreikonapp W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm --instruction-set-features=smp,-div,-atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=cortex-a53 --instruction-set-features=default --dex-file=/data/app/dreikonapp.mincom2s.de.dreikonapp-2/split_lib_slice_2_apk.apk --oat-file=/data/dalvik-cache/arm/data@app@dreikonapp.mincom2s.de.dreikonapp-2@split_lib_slice_2_apk.apk@classes.dex) because non-0 exit status
04-23 18:03:10.379 30801-30801/dreikonapp.mincom2s.de.dreikonapp W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm --instruction-set-features=smp,-div,-atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=cortex-a53 --instruction-set-features=default --dex-file=/data/app/dreikonapp.mincom2s.de.dreikonapp-2/split_lib_slice_3_apk.apk --oat-file=/data/dalvik-cache/arm/data@app@dreikonapp.mincom2s.de.dreikonapp-2@split_lib_slice_3_apk.apk@classes.dex) because non-0 exit status
04-23 18:03:10.438 30801-30801/dreikonapp.mincom2s.de.dreikonapp W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm --instruction-set-features=smp,-div,-atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=cortex-a53 --instruction-set-features=default --dex-file=/data/app/dreikonapp.mincom2s.de.dreikonapp-2/split_lib_slice_4_apk.apk --oat-file=/data/dalvik-cache/arm/data@app@dreikonapp.mincom2s.de.dreikonapp-2@split_lib_slice_4_apk.apk@classes.dex) because non-0 exit status
04-23 18:03:10.498 30801-30801/dreikonapp.mincom2s.de.dreikonapp W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm --instruction-set-features=smp,-div,-atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=cortex-a53 --instruction-set-features=default --dex-file=/data/app/dreikonapp.mincom2s.de.dreikonapp-2/split_lib_slice_5_apk.apk --oat-file=/data/dalvik-cache/arm/data@app@dreikonapp.mincom2s.de.dreikonapp-2@split_lib_slice_5_apk.apk@classes.dex) because non-0 exit status
04-23 18:03:10.561 30801-30801/dreikonapp.mincom2s.de.dreikonapp W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm --instruction-set-features=smp,-div,-atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=cortex-a53 --instruction-set-features=default --dex-file=/data/app/dreikonapp.mincom2s.de.dreikonapp-2/split_lib_slice_6_apk.apk --oat-file=/data/dalvik-cache/arm/data@app@dreikonapp.mincom2s.de.dreikonapp-2@split_lib_slice_6_apk.apk@classes.dex) because non-0 exit status
04-23 18:03:10.616 30801-30801/dreikonapp.mincom2s.de.dreikonapp W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm --instruction-set-features=smp,-div,-atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=cortex-a53 --instruction-set-features=default --dex-file=/data/app/dreikonapp.mincom2s.de.dreikonapp-2/split_lib_slice_7_apk.apk --oat-file=/data/dalvik-cache/arm/data@app@dreikonapp.mincom2s.de.dreikonapp-2@split_lib_slice_7_apk.apk@classes.dex) because non-0 exit status
04-23 18:03:10.670 30801-30801/dreikonapp.mincom2s.de.dreikonapp W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm --instruction-set-features=smp,-div,-atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=cortex-a53 --instruction-set-features=default --dex-file=/data/app/dreikonapp.mincom2s.de.dreikonapp-2/split_lib_slice_8_apk.apk --oat-file=/data/dalvik-cache/arm/data@app@dreikonapp.mincom2s.de.dreikonapp-2@split_lib_slice_8_apk.apk@classes.dex) because non-0 exit status
04-23 18:03:10.723 30801-30801/dreikonapp.mincom2s.de.dreikonapp W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm --instruction-set-features=smp,-div,-atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=cortex-a53 --instruction-set-features=default --dex-file=/data/app/dreikonapp.mincom2s.de.dreikonapp-2/split_lib_slice_9_apk.apk --oat-file=/data/dalvik-cache/arm/data@app@dreikonapp.mincom2s.de.dreikonapp-2@split_lib_slice_9_apk.apk@classes.dex) because non-0 exit status
04-23 18:03:10.729 30801-30801/dreikonapp.mincom2s.de.dreikonapp W/System: ClassLoader referenced unknown path: /data/app/dreikonapp.mincom2s.de.dreikonapp-2/lib/arm
04-23 18:03:10.733 30801-30801/dreikonapp.mincom2s.de.dreikonapp I/InstantRun: starting instant run server: is main process
04-23 18:03:10.991 30801-30801/dreikonapp.mincom2s.de.dreikonapp W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
04-23 18:03:11.131 30801-30893/dreikonapp.mincom2s.de.dreikonapp I/Adreno-EGL: : EGL 1.4 QUALCOMM build: (I14a17c7611)
OpenGL ES Shader Compiler Version: XE031.06.00.02
Build Date: 12/04/15 Fri
Local Branch: workspace
Remote Branch:
Local Patches:
Reconstruct Branch:
04-23 18:03:11.133 30801-30893/dreikonapp.mincom2s.de.dreikonapp I/OpenGLRenderer: Initialized EGL, version 1.4
04-23 18:03:11.201 30801-30801/dreikonapp.mincom2s.de.dreikonapp W/art: Before Android 4.1, method int android.support.v7.widget.ListViewCompat.lookForSelectablePosition(int, boolean) would have incorrectly overridden the package-private method in android.widget.ListView

Danke für eure Mühe und viele Grüße
Gerhard

Hilfreich?
Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

23.04.2020, 18:33:55 via Website

Wird dir auch logCat in ROT angezeigt?
Weil das sind die eigentlichen Errors/Exceptions.

In dem Log kann ich keinen Absturz erkennen, ist das wirklich der gesamte log im VERBOSE Modus vom Start bis zum Absturz?

Nutzt du in deiner App ListViews/ListViewCompat o.ä.?

Vielleicht ist das ja ein Hinweis?

Before Android 4.1, method int android.support.v7.widget.ListViewCompat.lookForSelectablePosition(int, boolean) would have incorrectly overridden the package-private method in android.widget.ListView

Irgendwas scheint ihn zu stören...

Ich glaube nicht dass es alleim am Listener liegt...

Irgendwelche CustomRoms/XPOSED/ sonst was installiert?

Ansonsten erstelle mal ein neues App Projekt in AS und teste da deinen Code.

Edit: Ich glaube nicht dass die App bei dem Log schon abgestürtzt ist, der Log umfasst 3 Sek, da hast du den Button nicht gedrückt

— geändert am 23.04.2020, 18:40:24

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

23.04.2020, 18:51:39 via Website

Hallo
Für mich sieht das nach einem Fehler mit Multidex aus.
Wie ich sehe arbeitest du noch mit Android 4.1.
Es scheint etwas nicht mit deinem Supportlibs, vor allen der multidex:1.0.0 zu stimmen.

Zeige mal dein Gradle File.

Du hast bestimmt viel Code viele Methoden und Klasse auch bestimmt viele Support Libs. Die nicht alle in eine Dex Datei passen und bei dem Muldidex geht etwas schief . das sagen vor allen die vielen Warnungen.

W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm --instruction-set-features=smp,-div,-atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=cortex-a53 --instruction-set-features=default --dex-file=/data/app/dreikonapp.mincom2s.de.dreikonapp-2/split_lib_slice_0_apk.apk --oat-file=/data/dalvik-cache/arm/data@app@dreikonapp.mincom2s.de.dreikonapp-2@split_lib_slice_0_apk.apk@classes.dex) because non-0 exit status

— geändert am 24.04.2020, 08:55:36 durch Moderator

Hilfreich?
Kommentieren
Gerhard
  • Forum-Beiträge: 36

23.04.2020, 19:11:07 via Website

Hallo zusammen,
ListView, ListViewCompat benutze ich nicht oder nicht gewollt (die design\R.java enthält Treffer mit ListView, aber die Datei ist doch nicht von mir, das kann es doch nicht sein); CustomRoms, XPOSED, Multidex sind mir noch nicht einmal nicht bekannt. In Gradle habe ich sdk 23 angegeben; wo kommt dann Android 4.1 her?

Hier mein build.gradle:
apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion '26.0.0'
defaultConfig {
applicationId "dreikonapp.mincom2s.de.dreikonapp"
minSdkVersion 23
targetSdkVersion 23
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
}
productFlavors {
}
}

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:23.+'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.android.support:design:23.+'
compile 'com.journeyapps:zxing-android-embedded:3.3.0@aar'
compile 'com.google.zxing:core:3.3.1'
testCompile 'junit:junit:4.12'
}

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

23.04.2020, 20:39:50 via Website

doch das ist schon deine App habe nur den Anfang weg gelassen.

Nur sind es eben nur Warnungen und kein Error die ist normalerweise Rot und beginnt mir E/ .

Aber dein Gradle ist schon alt du sollte es mal auf den neuen stand bringen. „Compile“ ist veraltest sollte jetzt „implementation“ benutzen.

Erstelle dir mal ein neues Projekt und schaue wie es heute ausehen sollte.

Auch würde ich auf Androidx umstellen und nicht mehr mit den SupportLibs arbeiten.

Auch die buildToolsVersion '26.0.0' würde ich erhöhen auf 26.0.3 du solltest schon immer actuell sein wenn es unbedingt eine 26 Version sein muss.

Am besten benutze die aktuellste oder gar keine. Dann wird die neuste benutzt die du als Sdk auf dem Rechner hast.

Was ist überhaupt die die größte SDK in deinem SDK Manager? Da solltest du auch 29 haben. Mindestens 28 um auch Andoidx benutzen zu können.

Ich denke du machst mal ein ordentliches Update.

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

23.04.2020, 20:43:37 via Website

ein Gradle neu mit Support libs siet etwa so aus .

apply plugin: 'com.android.application'

android {
compileSdkVersion 29
buildToolsVersion "29.0.3"

defaultConfig {
    applicationId "com.jw.myapplication"
    minSdkVersion 23
    targetSdkVersion 29
    versionCode 1
    versionName "1.0"

    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}

}

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])

//noinspection GradleCompatible
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

}

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

24.04.2020, 09:28:51 via Website

Hallo
könnte auch sein das es anden Xzing liegt was du benutzt. Denn da hat sich auch einiges geändert auch wie du es in das Gradle einbinden musst. Schaue auf seinhe Github Seite.

https://github.com/journeyapps/zxing-android-embedded

Hilfreich?
Kommentieren
Gerhard
  • Forum-Beiträge: 36

24.04.2020, 17:37:07 via Website

Hallo,
jetzt habe ich Android Studio auf 3.6.3 hochgezogen. Muß ich Gradle noch separat updaten? Ich habe außerdem das ganze Projekt gelöscht und noch mal ganz von vorn erzeugt (New Project -> Empty Activity).

Das build.gradle ist jetzt:
apply plugin: 'com.android.application'

android {
compileSdkVersion 29
buildToolsVersion "29.0.3"

defaultConfig {
    applicationId "de.mincom2s.dreikonapp"
    minSdkVersion 23
    targetSdkVersion 29
    versionCode 1
    versionName "1.0"

    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}

}

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])

implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

}

Die Hello-World App funktioniert damit (naja, was man so funktionieren nennen kann).

Dann habe ich sie erweitert zu einem Dialog, der mal ein Login-Dialog werden soll: Bisher nur die Edit-Felder Name und Passwort und den Login-Button; der hat einen onClickListener (mit View.OnClickListener( und die onClick-Methode, die nur die Werte in Variablen ausliest, sonst bisher nichts, kein Xzing, keine weitere Klasse, keine Methode, etc.

Damit alles komplett ist, hier auch noch die ganze Activity-Klasse:
public class LoginActivity extends AppCompatActivity {

String userName="";
String password="";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);

    Button loginButton = (Button) findViewById(R.id.loginButton);
    loginButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // Code here executes on main thread after user presses button
            EditText userNameText = (EditText) findViewById(R.id.userNameInput);
            userName = userNameText.getText().toString();
            EditText passwordText = (EditText) findViewById(R.id.passwordInput);
            password = passwordText.getText().toString();
        }
    });
}

}

Das Verhalten wie vorher: Die App startet ordentlich, sieht aus wie gewünscht; wenn ich auf den Button klicke, springt der Breakpoint in onClick an; onClick wird ordentlich durchlaufen, die eingetippten Werte kommen als Variablen an, alles prima. Nur wenn die onClick verlassen wird, wird die App beendet.

Der komplette Logcat-Inhalt (Level Verbose) ist:
04-24 17:21:35.160 17890-17890/? I/art: Late-enabling -Xcheck:jni
04-24 17:21:35.242 17890-17890/de.mincom2s.dreikonapp W/ActivityThread: Application de.mincom2s.dreikonapp is waiting for the debugger on port 8100...
04-24 17:21:35.244 17890-17890/de.mincom2s.dreikonapp I/System.out: Sending WAIT chunk
04-24 17:21:35.414 17890-17896/de.mincom2s.dreikonapp I/art: Debugger is active
04-24 17:21:35.444 17890-17890/de.mincom2s.dreikonapp I/System.out: Debugger has connected
04-24 17:21:35.444 17890-17890/de.mincom2s.dreikonapp I/System.out: waiting for debugger to settle...
04-24 17:21:35.644 17890-17890/de.mincom2s.dreikonapp I/System.out: waiting for debugger to settle...
04-24 17:21:35.845 17890-17890/de.mincom2s.dreikonapp I/System.out: waiting for debugger to settle...
04-24 17:21:36.045 17890-17890/de.mincom2s.dreikonapp I/System.out: waiting for debugger to settle...
04-24 17:21:36.245 17890-17890/de.mincom2s.dreikonapp I/System.out: waiting for debugger to settle...
04-24 17:21:36.445 17890-17890/de.mincom2s.dreikonapp I/System.out: waiting for debugger to settle...
04-24 17:21:36.645 17890-17890/de.mincom2s.dreikonapp I/System.out: waiting for debugger to settle...
04-24 17:21:36.846 17890-17890/de.mincom2s.dreikonapp I/System.out: waiting for debugger to settle...
04-24 17:21:37.046 17890-17890/de.mincom2s.dreikonapp I/System.out: debugger has settled (1482)
04-24 17:21:37.055 17890-17890/de.mincom2s.dreikonapp W/System: ClassLoader referenced unknown path: /data/app/de.mincom2s.dreikonapp-2/lib/arm
04-24 17:21:37.099 17890-17890/de.mincom2s.dreikonapp W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter androidx.vectordrawable.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
04-24 17:21:37.139 17890-17890/de.mincom2s.dreikonapp I/art: Rejecting re-init on previously-failed class java.lang.Class
04-24 17:21:37.139 17890-17890/de.mincom2s.dreikonapp I/art: Rejecting re-init on previously-failed class java.lang.Class
04-24 17:21:37.264 17890-17920/de.mincom2s.dreikonapp D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
04-24 17:21:37.337 17890-17920/de.mincom2s.dreikonapp I/Adreno-EGL: : EGL 1.4 QUALCOMM build: (I14a17c7611)
OpenGL ES Shader Compiler Version: XE031.06.00.02
Build Date: 12/04/15 Fri
Local Branch: workspace
Remote Branch:
Local Patches:
Reconstruct Branch:
04-24 17:21:37.341 17890-17920/de.mincom2s.dreikonapp I/OpenGLRenderer: Initialized EGL, version 1.4

Weder in Android Studio noch auf dem Handy finde ich eine Exception, Fehlermedlung, Meldung, Warnung, die mir weiterhelfen würde.

Da die App auf dem Handy meiner Frau funktioniert, muß die Ursache doch irgendwo in meinem Handy liegen. Ich habe aber keine Idee, wonach ich suchen könnte.

Viele Grüße
Gerhard

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

24.04.2020, 20:53:19 via Website

Hallo ich habe mal dein Beispiel nachgebaut mit einem einfachen Layout.
Habe keine Probleme.

Das log ist das von deinem Handy oder Emulator ich denke Handy .
Ich vermute das da was mit den Oben GL oder deinem Layout nicht stimmt .

So nochmal mit deinem Handy geht es nicht.
Wie ist es mit dem Emulator ?
Bei deiner Frau ihrem Handy geht es oder?

PS habe auch auf meinen Handy getestet geht hier mein Log vom Handy ist ein altes mit API23.

04-24 20:42:32.052 27604-27604/com.jw.myapplication W/System: ClassLoader referenced unknown path: /data/app/com.jw.myapplication-1/lib/arm

04-24 20:42:32.117 27604-27604/com.jw.myapplication W/ResourceType: Failure getting entry for 0x01080a8c (t=7 e=2700) (error -75)
04-24 20:42:32.137 27604-27604/com.jw.myapplication W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter androidx.vectordrawable.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
04-24 20:42:32.237 27604-27604/com.jw.myapplication I/art: Rejecting re-init on previously-failed class java.lang.Class
04-24 20:42:32.237 27604-27604/com.jw.myapplication I/art: Rejecting re-init on previously-failed class java.lang.Class
04-24 20:42:32.417 27604-27604/com.jw.myapplication D/TextView: setTypeface with style : 0
04-24 20:42:32.427 27604-27604/com.jw.myapplication D/TextView: setTypeface with style : 0
04-24 20:42:32.512 27604-27604/com.jw.myapplication D/TextView: setTypeface with style : 0
04-24 20:42:32.522 27604-27604/com.jw.myapplication D/TextView: setTypeface with style : 0
04-24 20:42:32.537 27604-27604/com.jw.myapplication D/TextView: setTypeface with style : 0
04-24 20:42:32.572 27604-27604/com.jw.myapplication D/SecWifiDisplayUtil: Metadata value : none
04-24 20:42:32.577 27604-27604/com.jw.myapplication D/ViewRootImpl: #1 mView = com.android.internal.policy.PhoneWindow$DecorView{721291a I.E...... R.....ID 0,0-0,0}
04-24 20:42:32.582 27604-27632/com.jw.myapplication D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: false
04-24 20:42:32.707 27604-27632/com.jw.myapplication D/libEGL: loaded /system/lib/egl/libEGL_mali.so
04-24 20:42:32.717 27604-27632/com.jw.myapplication D/libEGL: loaded /system/lib/egl/libGLESv1_CM_mali.so
04-24 20:42:32.772 27604-27632/com.jw.myapplication D/libEGL: loaded /system/lib/egl/libGLESv2_mali.so
04-24 20:42:32.827 27604-27632/com.jw.myapplication I/Mali: Mali API Version : 401
04-24 20:42:32.827 27604-27632/com.jw.myapplication I/Mali: Mali REVISION: Linux-r4p0-00rel0 BUILD_DATE: 2016-07-26 20:39:31
04-24 20:42:32.837 27604-27632/com.jw.myapplication D/libEGL: eglInitialize EGLDisplay = 0x54e207cc
04-24 20:42:32.837 27604-27632/com.jw.myapplication I/OpenGLRenderer: Initialized EGL, version 1.4
04-24 20:42:32.992 27604-27604/com.jw.myapplication D/ViewRootImpl: MSG_RESIZED_REPORT: ci=Rect(0, 48 - 0, 0) vi=Rect(0, 48 - 0, 0) or=1
04-24 20:42:33.057 27604-27604/com.jw.myapplication I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@59f6c2f time:5735508
04-24 20:43:00.547 27604-27604/com.jw.myapplication D/ViewRootImpl: ViewPostImeInputStage processPointer 0
04-24 20:43:00.672 27604-27604/com.jw.myapplication D/ViewRootImpl: ViewPostImeInputStage processPointer 1
04-24 20:43:07.397 27604-27604/com.jw.myapplication D/ViewRootImpl: ViewPostImeInputStage processPointer 0
04-24 20:43:07.572 27604-27604/com.jw.myapplication D/ViewRootImpl: ViewPostImeInputStage processPointer 1

— geändert am 24.04.2020, 20:54:26

Hilfreich?
Kommentieren
Gerhard
  • Forum-Beiträge: 36

24.04.2020, 21:17:30 via Website

Schön für dich:-)

Ich habe Windows 10 Home; da läuft HAXM nicht und damit kein Emulator.

Offenbar baut Motorola ein Problem ein. Ich hatte schon mal eine Hybrid-App versucht; da kamen unverständliche Fehlermeldungen, zu denen ich die Aussage gefunden habe, das sei Motorola-spezifisch.

Heißt das jetzt, ich habe keine Chance, eine App zu erstellen, die auf einem Motorola-Android-6.0-Handy handy läuft? Oder höchstens eine, die keinen Button enthält? Ich möchte sie aber lieber auch auf Motorola lauffähig bekommen, vielleicht hat außer mir noch irgendjemand ein Motorola.

Viele Grüße
Gerhard

Hilfreich?
Kommentieren
Ludy
  • Admin
  • Forum-Beiträge: 7.957

24.04.2020, 21:29:31 via App

Moin,

als Motorola Nutzer und Entwickler, kann ich dir sagen, dass das nicht am Handy liegt. Die höchste Fehlerquote ist Samsung.

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

☕ Buy Me A Coffee ☕

Lebensmittelwarnung-App

✨Meine Wunschliste✨

📲Telegram NextPit News📲

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

24.04.2020, 22:09:17 via Website

Ich habe ein Samsung s5 mit Android 6. Benutzt. Und ich hatte bis jetz immer Samsung Geräte und noch nie Probleme. Auch HTC, LG hatte ich einige zum testen und nie Probleme.
Ein Motarola hatte ich bis jetzt noch nicht zum testen.

Wie so läuft bei dir der emulator nicht.
Hast du einen AMD Prozessor?

Komisch ist aber das es bei deiner Frau geht. Das spricht aber wieder für das Handy als Übeltäter.

oder doch etwas mit dem Rechner. dann würde es aber bei deiner Frau auch nicht gehn.

— geändert am 24.04.2020, 23:06:38

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

24.04.2020, 22:20:30 via Website

Laut deinem log liegt das weniger an den Button. Viel mehr schon beim erstellen der Views.

Hast du mal dein Handy auf Werks Einstellung zurück gesetzt.

Warseinlich hast du irgent eine system Einstellung auf dem handy verändert.
Wie gesagt denke ich an die oben GL Einstellungen.

hier der Link zur APK

https://drive.google.com/file/d/19mXBYWZetuu9HhRYDxd8PVBtb4ShY5fP/view?usp=sharing

https://drive.google.com/file/d/17ckMYCBTo80FQqmaRnhICYlZkdACWidm/view?usp=sharing

stelle doch deine einfache APK auch mal zum test bereit.

— geändert am 24.04.2020, 22:43:31

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

24.04.2020, 22:57:31 via Website

so jetzt noch mal dein Log

D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
I/Adreno-EGL: : EGL 1.4 QUALCOMM build: (I14a17c7611)
OpenGL ES Shader Compiler Version: XE031.06.00.02
I/OpenGLRenderer: Initialized EGL, version 1.4

und hier meines

D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: false
D/libEGL: eglInitialize EGLDisplay = 0x54e207cc
I/OpenGLRenderer: Initialized EGL, version 1.4
D/ViewRootImpl: MSG_RESIZED_REPORT: ci=Rect(0, 48 - 0, 0) vi=Rect(0, 48 - 0, 0) or=1

du benutzt eine Hardware rendering ich nicht. für die einfache App auch nicht notwendig.

— geändert am 24.04.2020, 22:58:54

Hilfreich?
Kommentieren
Gerhard
  • Forum-Beiträge: 36

25.04.2020, 12:22:38 via Website

Hallo zusammen,

danke für eure ermutigenden Worte. Und danke, daß ihr euch so reinhängt (wenn ich mir die Uhrzeiten betrachte; Daumen hoch!!!).

Wenn dieselbe App auf dem Handy meiner Frau läuft, lokalisiere ich den Fehler irgendwo zwischen Oberkante und Unterkante meines Handys; es muß ja nicht an der Hardware oder an der Software von Motorola liegen; ich vermute eher etwas, was ich auf das Gerät draufgebracht habe. Aber was?

@Jokel: Ich habe deinen Entwurf auch ausprobiert. Es kommt dasselbe Verhalten: Die onClick wird ordentlich durchlaufen; ich sehe im Debugger die eingegebenen Werte. Und nach Ende der onClick ist die App beendet. Darf ich es als Kompliment nehmen, daß ich es eigentlich richtig implementiert habe?

Was ist denn Hardware Rendering? Wird das in der App eingestellt (in Android Studio)? Wo schalte ich das aus?

Mein Rechner hat einen Intel-Prozessor. Kann man da HAXM auch bei Windows 10 Home installieren? Der vorige Rechner hatte AMD, da ging es nicht. Das würde das Entwickeln einfacher machen, ist aber nicht die perfekte Lösung, da ich die App eigentlich gerne auch für Motorola bereitstellen würde.

Viele Grüße
Gerhard

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

25.04.2020, 13:04:05 via Website

also wenn meine APK bei dir auch nicht läuft liegt es an deinem Handy ob Hardware oder Software keine Ahnung.

Wie Ich schon sagte setze es mal zurück Factory Reset zurücksetzen auf Werks Einstellung . Ja dann ist alles weg aber diesen schritt wirst du wohl gehen müssen um sicher gehen zu können das es nicht an dem Handy mit Android liegt. Installiere mal keine apps und stelle nicht um nach den Reset. Wenn es dann auch nicht geht liegt es wirklich am Handy, kann ich aber nicht glauben.

Darf ich es als Kompliment nehmen, daß ich es eigentlich richtig implementiert habe?

was meist du damit ?

hast du auchmeine apk probiert? ohne dedugger einfach auf das Handy kopieren inst. und staten.

Kann man da HAXM auch bei Windows 10 Home installieren?

Weiß ich jetzt nicht ob die Home Version geht. Aber wo ist das Thema sich eine Lizenz für Win Pro für ca. 10 Euro zu holen.

kommt aber auch auf deine CPU an ob die es kann wie alt ist die den.

Schicke mir doch mal deine APK und zeige mal dein Layout dort könnte auch ein Fehler sein.
Bemerkung wir reden hier erstmal von der einfachen Test App nicht deine Fertigen Große App Version.

— geändert am 25.04.2020, 13:17:00

Hilfreich?
Kommentieren
Gerhard
  • Forum-Beiträge: 36

26.04.2020, 15:38:07 via Website

Hallo,

jetzt habe ich festgestellt, daß Windows Home mir den Emulator wohl erlauben würde, aber der Speicherplatz reicht nicht. Ich habe eine SSD mit 125 GB (die ist Laufwerk C:) und eine HDD (Laufwerk D: und E:). Ich hätte gerne Programme auf D:, Daten auf E: und nur Windows auf C:, aber einige Programme sind nur auf C: installierbar, und andere, die auf D: installiert sind, müllen das User-Directory zu. Ich muß immer wieder aufräumen, damit ich auf C: wenigstens 500 MB frei habe. Der Emulator verlangt 5 GB auf C:. Grrrrrr (musste mal gesagt werden).

Ich habe auch versucht, deine Apk zu installieren; es kam die Meldung: My Application: App wurde nicht installiert. Das Handy hat wohl gemerkt, daß da ein Button mit einer onClick drin ist :-)

Ich komme wohl um ein Reset nicht herum.

Viele Grüße
Gerhard

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

26.04.2020, 15:56:27 via Website

Ich habe auch versucht, deine Apk zu installieren; es kam die Meldung: My Application: App wurde nicht installiert. Das Handy hat wohl gemerkt, daß da ein Button mit einer onClick drin ist

nein du musst zulassen von unbekanten quellen zu instalieren

Hilfreich?
Kommentieren
Gerhard
  • Forum-Beiträge: 36

27.04.2020, 18:58:29 via Website

Hallo Jokel,

die Einstellung "unbekannte Quellen zulassen" kannte ich und hatte sie auch (früher) eingeschaltet; vielleicht habe ich sie irgendwie mal unbeabsichtigt ausgeschaltet, egal.

Jetzt habe mein Handy rückgesetzt und meine Versuchsreihe weiter getrieben: Deine App konnte ich dann installieren: Sie stürzt tatsächlich nicht ab. Meine dagegen stürzt auch dann ab, wenn ich das Apk-File installiere. Aber eine App zu entwickeln, die ich nicht debuggen, sondern nur installieren und ausprobieren kann, ist mir zu umständlich. Wenn nicht noch irgendwoher eine Idee kommt, wie ich mein Handy debugfähig bekomme, tausche ich vorübergehend mit meiner Frau das Handy, mit dem geht es ja.

Und danke für den Tipp mit dem Symlink.

Viele Grüße
Gerhard

Hilfreich?
Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

27.04.2020, 19:09:27 via Website

Kannst du deine eigene App nicht debuggen?
Ging doch vorher auch

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

27.04.2020, 19:54:39 via Website

zeige mal dein Layout hatte ich schon gesagt.
ambest das gesamte Ptojekt wie ich.
ich habe deinnen Code in eine neues Projekt gemacht und dazu selber ein Layout . deines hatte ich ja nicht.
deshalb zeige dein Layout.

Mal eine Frage wie hast du die APk erstellt die du dann später auf das Handy gepackt hast?
Wie ist und war es als du das am Handy über USB am Rechner hattest, ob nun mit Haltepunkt oder ohne getestet hast? Ging es da?

— geändert am 27.04.2020, 20:11:19

Hilfreich?
Kommentieren
Gerhard
  • Forum-Beiträge: 36

27.04.2020, 21:00:17 via Website

Hallo Pascal,

ich kann im Android Studio "Debug app" klicken, dann startet die App. Wenn ich ein Statement erreiche, auf dem ich einen Breakpoint gesetzt habe, springt der Breakpoint an (z.B. in der onClick-Methode zu einem Button). Nur wenn die onClick eines Buttons verlassen wird, wird die App beendet.

Ja, bei der Entwicklung einer früheren App klappte das, und bei der geht es immer noch. Die habe ich jetzt von Android Studio 2.3.x auf 3.6.3 umgestellt: Funktioniert, auch im Debugging aus Android Studio, auch mit Button.

Aber die neue, die bisher nur zwei Felder und einen Button enthält, wird beendet (ohne daß irgendwo eine Exception sichtbar wäre), wenn die onClick des Buttons verlassen wird.

Hilfreich?
Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

27.04.2020, 21:05:29 via App

Ja das hab ich doch verstanden aber das ist ja unabhängig vom Debug weil ohne Debug stürtzt es auch ab oder?

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

27.04.2020, 21:27:18 via Website

so jetzt noch mal layout Bitte besser das Projekt als zip sonnst keine hilfe mehr.

neim Projekt ist auch bei dir abgestürst Richtig also wird es wohl an deinem Recher ligen . Windows oder Android installation.

— geändert am 27.04.2020, 21:32:18

Hilfreich?
Kommentieren
Gerhard
  • Forum-Beiträge: 36

28.04.2020, 14:57:18 via Website

Hallo Jokel,

das Projekt-Zip habe ich in Dropbox hochgeladen:
https://www.dropbox.com/s/e7ijbl92hgr3x74/DreikonApp.zip?dl=0

Und ich habe probehalber auf meinem Notebook auch Android Studio installiert und probiert, die App
von da aus zu debeuugen: Es kommt dasselbe Verhalten wie von meinem Desktop-PC aus. Vielleicht sitzt das Problem vor dem Rechner.

Viele Grüße
Gerhard

Hilfreich?
Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

28.04.2020, 15:22:37 via Website

Ich kann deinen Code compilen und auch debuggen ohne das die App abstürzt.
Breakpoint wird erreicht und dann mit F9 bestätigt und ich kann die Textfelder weiter editieren.
Somit muss das Problem irgendwo bei dir liegen. Vermutlich an deinem Smartphone.

Ich nutze ein Android 10 Gerät mit CuromRom LineageOS und damit funkioniert es.
Somit bringt zumindest mich das nicht weiter

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

28.04.2020, 15:47:46 via Website

Hallo habe es noch nicht getestet bin mich nicht zu hause. Arber mine apk ging ja somit ist eigentlich das Smartphone außen vor.

Jetzt noch mal meine Frage wie kommpilirst du die app? Wie bringst du die auf das Handy? Erstellt du eine signed oder debugg apk. Und wenn du sie direkt auf das Handy installieren willst musst du auch eine debug odde signed apk aus dem Menü erstellen nicht über den play Button. Diese apk die da erstellt wird geht nur wenn sie über USB übertragen wurde.

— geändert am 28.04.2020, 15:52:24

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

28.04.2020, 18:09:51 via Website

Hallo auch ich kann dein Projekt ohne Probleme ausführen stürzt auch nicht ab .
Das Layout ist auch OK.

Aber die APK die in deinem Projekt ist kann ich nicht installieren. das ist mit Sicherheit eine APK die erstellt wurde nur für das Handy was am PC angeschlossen war. Die hast du bestimmt oben über den Play Button zum Debuggen erstellt.

Empfehlung erstelle mal eine richtige für alle Handis geeignete APK. Über das Menü Build/Build Bundle APK/ Bulid APK. Packe die auf dein Handy und teste ob das geht.
Auch hoffe ich das nicht oben das „grüne App Icon“ mit einem roten X markiert ist .recht neben dem Hammer.

Hilfreich?
Kommentieren
Gerhard
  • Forum-Beiträge: 36

28.04.2020, 20:22:29 via Website

Hallo,
ja, die App ist ja bis auf die Farben so wie deine; da habe ich erwartet, daß sie sich genauso verhält: Bei dir geht es, bei mir nicht.

Ich habe eine ältere App, die ich vor drei Jahren geschrieben habe (damals mit Android Studio 2.3.3, mit anderen Package-Namen bei einigen Klassen) auf Android 3.6.3 umgestellt: Die läuft einwandfrei, auch im USB-Debugging, auch mit Klcik auf Buttons (die hat allerdings keinen Button in der Main-Activity).

Für den Test mit der neuen App habe ich die zu installierende App erstellt über Build Bundle(s) / APK(s) -> Build APK(s). Das erzeugt in \app\build\outputs\apk\debug eine app-debug.apk; die habe ich auf das Handy transferiert, installiert und getestet.

Grünes App-Icon: Du meinst den Hammer mit dem Tooltip Build Project (Strg+F9)? Rechts daneben ist eine Combobox mit u.a. dem Wert "app" mit dem grünen Android-Icon, kein rotes X.

Viele Grüße
Gerhard

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

28.04.2020, 21:40:32 via Website

Hallo ja ich meinte die Combobox mit u.a. dem Wert "app" wen da kein rote "x" ist alles gut.

Aber in den von dir geposteten Projekt ist es nicht die apk. die mit Build Bundle(s) / APK(s) -> Build APK(s). erstellt wurde . Sonnst könnte ich die Installieren.
Das ist die APK die erstellt wird wenn du online Debugging machst also oben uf den grünen Pfeil klickst.

Beim klick auf den grünen Pfeil wird die APK die du vorher mit dem Build Menue erstellt hast Überschrieben.

APKs die über den Play Button grüner Pfeil erstellt wurden gehen immer nur auf dem Handy was gerade angeschlossen ist.
Sichere die APK mal und erstelle dann die andere mit dem Menue an der Dateigröße wirst du den unterschied sehen.

— geändert am 29.04.2020, 08:19:52

Hilfreich?
Gerhard
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

28.04.2020, 21:57:27 via Website

Hat etwa die neue App den gleichen Package-Namen. Und ist diese auch auf dem Handy installiert?

Hilfreich?
Kommentieren
Gerhard
  • Forum-Beiträge: 36

29.04.2020, 15:12:09 via Website

Hallo,

ok, wenn der grüne Pfeil das Apk-File überschreibt, dann war im vorigen Zip nicht mehr die installierbare Apk. Auf Dropbox gibt es nochmal ein aktuelles Zip mit frisch erstellter Apk:
https://www.dropbox.com/s/fu6k77yt2fsqlyp/DreikonApp.zip?dl=0

Offenbar habe ich mittlerweile (unbewußt) noch eine Kleinigkeit verändert: Jetzt ist es bei meiner App auch so, daß sie nur im USB-Debugging am Ende der onClick beendet wird, aber die installierte App aktiv bleibt.

Da ich ja aber irgendwie im Debug-Modus testen will, bringt das so noch keinen allzu großen Vorteil, es sei denn, es gibt euch eine Idee, was die Ursache des Problems ist.

Aber dein Tipp mit dem mklink hat mir wesentlich weitergeholfen: Ich habe jetzt das Laufwerk C: soweit aufgeräumt, daß der Emulator startet. Damit kann ich dann erstmal arbeiten. Später kommt dann das Problem, daß die App QrCodes einlesen soll, und das wird der Emulator nicht können. Aber das kann ich mit gefakten Scan-Results erledigen (etwas umständlich, aber akzeptabel). Wenn euch noch die Erleuchtung kommt, wie ich die App USB-debug-fähig kriege, meldet euch bitte. Ansonsten bedanke ich mich sehr herzlich für die ausführlichen und prompten Reaktionen!!!!!

Die erwähnte App, die ich vor drei Jahren mal geschrieben habe, war etwas ganz anderes (anderer App-Name, anderes Package, andere Klassen). Und die habe ich nach dem Handy-Reset auch noch gar nicht wieder drauf.

Viele Grüße
Gerhard

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

29.04.2020, 15:53:40 via Website

Hallo mal eine simple Frage weiß nicht ob die schon gestellt wurde. Hast du auch den richtigen USB Treiber auf deinem Rechner?

Hilfreich?
Kommentieren
Gerhard
  • Forum-Beiträge: 36

29.04.2020, 19:15:00 via Website

Gute Idee; die Frage kam auch noch nicht.

Lenovo Vantage sagt, es ist alles aktuell. Ich hoffe doch, daß der aktuellste Treiber auch der richtige ist.

Viele Grüße
Gerhard

Hilfreich?
Kommentieren