Alternativen Emulator gesucht

  • Antworten:23
  • OffenNicht stickyBentwortet
  • Forum-Beiträge: 2.901

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 ]

Diskutiere mit!
  • Forum-Beiträge: 480

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.androidpit.de/forum/620628/android-emulatoren-fuer-entwickler

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 2.901

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?
Diskutiere mit!
  • Forum-Beiträge: 2.901

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?
Diskutiere mit!
  • Forum-Beiträge: 2.901

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?
Diskutiere mit!
  • Forum-Beiträge: 480

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?
Diskutiere mit!
  • Forum-Beiträge: 480

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?
Diskutiere mit!
  • Forum-Beiträge: 2.901

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?
Diskutiere mit!
  • Forum-Beiträge: 480

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?
Diskutiere mit!
  • Forum-Beiträge: 2.901

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?
Diskutiere mit!
  • Forum-Beiträge: 2.901

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?
Diskutiere mit!
  • Forum-Beiträge: 480

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?
Diskutiere mit!
  • Forum-Beiträge: 2.901

24.08.2018, 21:25:21 via Website

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

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

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 480

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?
Diskutiere mit!
  • Forum-Beiträge: 480

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?
Diskutiere mit!
  • Forum-Beiträge: 480

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.androidpit.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?
Diskutiere mit!
  • Forum-Beiträge: 480

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?
Diskutiere mit!
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.165

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?
Diskutiere mit!

Empfohlene Artikel