Alternativen Emulator gesucht

  • Antworten:23
  • Bentwortet
swa00
  • Forum-Beiträge: 3.704

24.08.2018, 11:56:08 via Website

Hallo Jungs ,

ich benötige für ein Projekt ausnahmsweise mal einen Desktop-Emulator,da es das Ziel-Device noch nicht gibt :-(

Kennt jemand von euch zufällig einen der :

a) Vollständig läuft (also Google package incl Installationen aus diesem ) und auch die Möglichkeit besitzt, ins FilesDiretory programtechnisch zu schreiben - (das kann der AS Inhouse nämlich nicht)
b) dem ich die Screenresolution angeben kann - wie gewohnt
c) und der natürlich auch ADB/Debugging zulässt - wie gewohnt

Ich finde leider nichts .. oder ich bin schlichtweg zu blöd :-)

Danke

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

Kommentieren
Beste Antwort
Jokel
  • Forum-Beiträge: 1.530

24.08.2018, 19:33:14 via Website

image

image

Hilfreich?
Pascal P.swa00
Kommentieren
Jokel
  • Forum-Beiträge: 1.530

24.08.2018, 12:36:00 via Website

Hallo also ich bin mit Genimotion immer recht gut gefahren.

zu a: da müstest du viellecht die GoogelApps seber Instalieren.
auf welchen speicherbereich willst du? ich bin eigentlich mit dem AS überall hin gekommen

zu b: was meisnst du damit?

dafür gibt es doch hier ein Thread
https://www.nextpit.de/forum/620628/android-emulatoren-fuer-entwickler

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

24.08.2018, 12:50:23 via Website

Danke erst mal ,

keinen Speicherbereich - der Emulator lässt zum bespiel nicht zu , dass du von deiner App auf das GetFilesDirectory (e.d./data/files) schreiben/erstellen darfst.

Dahin kopieren kannst du schon über den "Device File Explorer" in AS , aber du darfst nicht selber schreiben. ( auch wenn Rechte da sind)

Des weiteren lässt offensichtlich die Neuste version keine pushs mehr von der Playstore/Services app zu .

P.S der Thread ist alt und keiner unterstützt ADBDebugging :-)

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

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

24.08.2018, 13:08:57 via Website

Danke Pascal , ich probier den mal direkt aus .. und schlage dann wieder hier auf :-)

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

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

24.08.2018, 13:37:53 via Website

PAAAAAAAAAAAAAAAASSSSSSSSSSSSCAAAAALLLLLL :-)

Du hast echt was gut bei mir , das Ding ist ja der Hammer !

a) Du kannst freie Devices einrichten - GApps sind dabei
b) Das Teil bindet sich automatisch als AVD in AS ein - nix mit "adb connect"
c) Kommt genauso schnell hoch wie der OnBoard x86 Emulator
d) Du kannst das Teil wie ein Hardware-Device "vergewaltigen"

Einziger Nachteil 30 Tage Test Version - danach 100 eus - aber die habe ich mir gegönnt .

Du hast nen alten Sack glücklich gemacht :-)

Danke

— geändert am 24.08.2018, 13:38:24

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

Hilfreich?
Pascal P.
Kommentieren
Jokel
  • Forum-Beiträge: 1.530

24.08.2018, 15:37:22 via Website

Ehrlich gesagt habe ich nie verstanden warum du so ein Gegner von Emulatoren bist. Ich werde es Auf jedenfall mal testen ob das mit den Schreiben im as emulator wirklich nicht geht.

— geändert am 24.08.2018, 15:41:22

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

24.08.2018, 17:20:09 via Website

keinen Speicherbereich - der Emulator lässt zum bespiel nicht zu , dass du von deiner App auf das GetFilesDirectory (e.d./data/files) schreiben/erstellen darfst.

Ich denke du meinst „getFilesDir()“ und nicht" GetFilesDirectory()" ich habe kein Problem in diesem
Ordner eine Datei zu erzeugen und zu schreiben. Im As Emulator.

„GetFilesDirectory“ gibt es bei mir nicht.

Auch den Path „/data/files“ gibt es nicht im Emulator und auch nicht auf einem echten Handy.

Schreibe mal den echten Plath auf den du zugreifen willst würde mich wirklich interessieren.

— geändert am 24.08.2018, 18:12:08

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

24.08.2018, 18:13:28 via Website

Hallo Jokel,

das war natürlich context.getExternalFilesDir(null) und im einem API 19 Image.

Dort ist es der pfad data/data/[Packagename]
Auf einen Hardwaredevice legt er dann android\data]packagename] an

Beide erhalten dann \files als weiteres sub - auf dem emulator nicht.
Mus man dann manuell erstellen und mit der Uploadfunktion füllen

— geändert am 24.08.2018, 18:13:52

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

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

24.08.2018, 18:32:18 via Website

Dort ist es der pfad data/data/[Packagename]
Auf einen Hardwaredevice legt er dann android\data]packagename] an

solte auf jedem Gerät und auch im AS Emulator gehen . auch ohne Permissoin.

gut bei API 19 KitKat war das schreiben auf die sdkarte problematisch. hat aber nichts mit dem emulator zu tun sondern mit der API.

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

24.08.2018, 18:48:19 via Website

Also bei mir definitiv nicht :-)
Sonst hätte ich oben nicht geschrieen und auch nicht die 100 Bugs auf den Tisch gelegt :-)

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

Hilfreich?
Kommentieren
Beste Antwort
Jokel
  • Forum-Beiträge: 1.530

24.08.2018, 19:33:14 via Website

image

image

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

24.08.2018, 20:52:32 via Website

Na eindeutiger kann es nicht gehen - :-(

Bei mir will der nicht schreiben , definitv nicht - was für ein Image hast du genommen ?

An der Stelle : Danke erst mal für deinen Test .....

Nachtrag :

Kannst du mal bitte Folgendes austauschen ? (Läuft einwandfrei auf Hardware Device mit/ohne ADB)

   public final String SYNC_DIR = "";
   File appDir = context.getExternalFilesDir(null);
        if (null == appDir)
            throw new IOException("cannot get external files dir, " + "external storage state is " + Environment.getExternalStorageState());
        externalDir = new File(appDir, SYNC_DIR);

— geändert am 24.08.2018, 20:59:17

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

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

24.08.2018, 21:17:00 via Website

Compiler sdk 27
Emulator 27, 26,25,23,22, läuft auf allen.
Ich hatte da noch nie Probleme auch unter android studio 2.3

Werde deinen Code morgen testen .

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

24.08.2018, 21:25:21 via Website

19 wäre mir wichtig ..... Danke in Voraus

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

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

25.08.2018, 12:56:11 via Website

Hallo @saw00
Habe deinen Code getestet ohne Probleme.
Habe es auf einen Emulator API 19 getestet
compileSdkVersion 27
targetSdkVersion 19
minSdkVersion 19

Auf beide Speicherbereiche konnte ich zugreifen. Schreiben u. Lesen.
Auch ohne eine Permission im Manifest zu setzen.
Siehe Bild und Code

image

public class MainActivity extends AppCompatActivity {
public final String SYNC_DIR = "";

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

    File file = new File("/data/data/" + getPackageName());
    File dir = new File(file, "file");
    dir.mkdir();
    File datei = new File(dir, "testdatei");
    try {
        BufferedWriter writer = new BufferedWriter(new FileWriter(datei));
        writer.write("Hallo");
        writer.newLine();
        writer.write("Hallo2");
        writer.close();

    } catch (IOException e) {
        e.printStackTrace();
    }

    TextView text = (TextView) findViewById(R.id.text1);
    text.setText(lesen(datei));
    //---------------------------------------

    File appDir =  this.getExternalFilesDir(null);
    if (null == appDir)
        try {
            throw new IOException("cannot get external files dir, " + "external storage state is " + Environment.getExternalStorageState());
        } catch (IOException e) {
            e.printStackTrace();
        }

    File externalDir = new File(appDir, SYNC_DIR);
    externalDir.mkdir();

    File datei2 = new File(externalDir, "testdatei2");
    try {
        BufferedWriter writer2 = new BufferedWriter(new FileWriter(datei2));
        writer2.write("Schreiben auf SD Karte");
        writer2.close();
    } catch (IOException e) {
        e.printStackTrace();
    }

    TextView text2 = (TextView) findViewById(R.id.text2);
    text2.setText(lesen(datei2));

}

String lesen(File file){
    String inputLine;
    String string = "";
    BufferedReader bufferedReader = null;
    try {
        bufferedReader = new BufferedReader(new FileReader(file));
        while ((inputLine = bufferedReader.readLine()) != null) {
            string = string+" "+inputLine;
        }

    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    return string;

}

}

apply plugin: 'com.android.application'

android {
compileSdkVersion 27
defaultConfig {
applicationId "de.apitest.test2"
targetSdkVersion 19

    minSdkVersion 19
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

}

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
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'

}

— geändert am 25.08.2018, 16:22:44

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

25.08.2018, 13:48:42 via Website

Das Ganze ist auch nicht weiter verwunderlich.
Path 1 ist der AppSpeicher und Path zwei getExternalFilesDir(null) ist so zusagen der erweiterte AppSpeicher auf der SDKarte.

Wenn nicht Bereich /storage/sdcard/Android/data/ Packetname zugreifen willst.
Sondern auf /storage/sdcard/…
geht das nur mit einer Permission.

Bei mir will der nicht schreiben , definitv nicht - was für ein Image hast du genommen ?

image
image

— geändert am 25.08.2018, 14:58:01

Hilfreich?
swa00Pascal P.
Kommentieren
Jokel
  • Forum-Beiträge: 1.530

25.08.2018, 15:02:57 via Website

Es könnte aber auch daran liegen das ich nicht den Intel Hamx 7.2.0 benutze sondern wieder den alten
7.1.0 Installiert habe. Da die Version 7.2.0 bei mir Probleme machte .
schaue hier.
https://www.nextpit.de/forum/773032/nach-letzten-as-update-soll-der-haxm-treiber-im-avd-veraltet-sein

emulator Version 27.3.9

— geändert am 25.08.2018, 15:06:33

Hilfreich?
swa00Pascal P.
Kommentieren
Jokel
  • Forum-Beiträge: 1.530

25.08.2018, 17:07:12 via Website

@Pascal P. Danke für dein Like.
Ich hoffe das du nun nicht mehr so negativ über die Emulatoren denkst.

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

25.08.2018, 17:53:13 via App

Wenn man sich ernsthaft damit beschäftigt, scheint das ganz ok zu sein. Habe aber aktuell wenig Zeit damit herumzuspielen..

Habe bisher die Emulatoren vermieden und wenn dann nur kurz genutzt und gemerkt, dass diese nervig sind. Kann bei mir aber auch eine Fehlkonfig oder alte HAXM etc. sein.

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

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

26.08.2018, 02:11:33 via Website

@Jokel

Sorry & Danke , bin unterwegs und erst morgen Abend wieder da ......
Checke dann sofort gegen.

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

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

29.08.2018, 10:59:27 via Website

Hallo @saw00 wollte mal nachfragen was der Check ergeben hat?

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

30.08.2018, 10:12:16 via Website

Hallo jokel,

sorry für die verspätete Antwort und Test , ich war beruflich ein wenig eingespannt .

Lieben Dank für deinen Test .

a) Man sollte auch vor lauter Betriebsblindheit den richtigen Pfad sich im Emulator anschauen.
Dann findet man auch seine Dateien :-(
b) Ich benutzte die neuste Version , aber da macht er Zicken bei den GApps - habe dann es nach zwei Versionen aufgegeben und benutze derzeit den von mir erworbenen.

Dennoch leiben vielen Dank für dein Mühe

Stefan

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

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

30.08.2018, 10:31:40 via Website

Ich habe den haxm Treiber von Hand im Windows deinstalliert und den alten 7.1.0 auch wieder von Hand installiert. Im sdk Manager wird immer noch der7.2.0 angezeigt. Habe damit keine Probleme.

Hilfreich?
Kommentieren