I create a new hardware profile in an attempt to make and emulator for the Galaxy S8/S8+. I set the screen size to 5.8/6.2 inches (depending on whether S8 or S8+, despite the fact this doesn't appear to affect emulator anyway), and the screen resolution to 1440 x 2960, like the device. The emulator appears nothing like it does on the real device. Testing my app on a real S8+ shows it to be laid out poorly, but on the emulator it appear to be relatively organised, and I noticed it uses the dimens for my Nexus 6 emulator (xxxhdpi). Now the dimens values used isn't a big deal, because I'm happy to phase out the Nexus 6 considering it's no longer in production.
So I add some code to my launcher Java class that that gets me the dimensions of the emulator, here is what I get from my S8 emulator: {density=3.5, width=1440, height=2792, scaledDensity=3.5, xdpi=560.0, ydpi=560.0}
Besides the fact the height says 2792 instead of 2960 (I assume this is meant to happen), I believe I see the issue - the density is 3.5. As suspected, this is the same density as the Nexus 6. So the emulator I'm creating is not for the Galaxy S8, and this is evident in my comparison to a real S8+ which displayed my app in a distorted manner. As far as I'm aware, the Galaxy S8 has a density of 4, not 3.5. The IDE says the device has 560dpi. Now I need to be able to create an emulator with a density of 4, and the same specs I've already put down. How can I do this? How can I test for the Galaxy S8 without using the real thing? There isn't a preconfigured emulator for this device provided by the IDE.
Many thanks in advance.
There is no preconfigured emulator. As per my experience, even if you try to create with matching device configuration it won't be much of use as it will still run stock android.
So, I found that Samsung provides online test lab like firebase.
You can go to http://developer.samsung.com/rtlLanding.do and check it out. They give 5 minutes free if you don't have developer account.
As per Samsung, you can get the following:
20 credits are provided to each Samsung Developer user every day.
With 1 credit, users can use the Remote Test Lab service for 15 minutes.
Minimum reservation: 30 minutes (2 credits)
Maximum reservation: 10 hours a day (40 credits)
More details : http://developer.samsung.com/remotetestlab/rtlAboutRTL.action
Related
I'm developing android app that have few activities. I have Samsung S6 device in my hand, so I created the same device in the android studio emulator to make it easy. But the problem is when I install the APK in my physical device it's not showing the layout as the emulator device. I used the same screen size ( 5.1 ) & the same resolution of 1440 pixels by 2560 pixels when creating the emulator device. can someone please help me ?
I also uploaded 2 screen shots to better understanding.
In Emulator
In Real Device
I have created an galaxy s4 emulator using this post how to open galaxy S4 emulator
but my problem is when I tried to run this emulator it takes very long time and at last it said time is out. My ram is 6GM. And I created emulator by providing 800MB ram. And my laptop screen resolution is HD.
How to resolve my problem immediately because I have to test my app in galaxy s4.
I got it working with the settings the other link holds (How to test android app in Galaxy S4 configuration using emulator?) and "Target Google APIs (Google Inc.) - API Level 17" and also I let the Emulator help by my GPU "Emulator Options: Use Host GPU".
Hope you folks get it working to :)
Samsung has not released Add-on for galaxy s4.
But we have an alternatives for the Same Configurations.
Actual:Samsung S4 (1080 x 1920 pixels, 5.0 inches (~441 ppi pixel density))
Alternative:Sony Xperia Z (1080 x 1920 pixels, 5.0 inches (~441 ppi pixel density))
Both are using Drawable-xxhdpi resource folder.
To configure Sony Xperia Z:
http://developer.sonymobile.com/knowledge-base/sdks/sony-add-on-sdk/install-the-sony-add-on-sdk/
Testing on Sony Xperia Z emulator,will effect the same result in Samsung galaxy s4.
Emulators are slow. No matter what configuration you have. So testing in emulator doesn't mean it'll give you same behaviour in the real device.
Unless samsung decided to do so, it won't be available with Android SDK as predefined config. You may need to manually set the configurations (which is what you have done). Even then the OS gonna run in S4 is customised by Samsung yet again as I said earlier you won't get it with your SDK package.
I am working on an android Audio Recording application, our app is currently designed to work on all android phones, the Nexus 7 and the Motorola Xoom tablets.
I was wondering if there are any guidelines or best practices to re-design/modify our app for Nexus 10. More specifically, any pointers on the below points would be really helpful:
UI guidelines to support the new 2560x1600 resolution
Android resource files related modifications (based on similar guidelines)
Any sample or open sources apps that have been modified to work on the nexus 10
Best practices creating and running a nexus 10 emulator since there is no such AVD device by default (screenshot below). Any thoughts on creating one, keeping the high resolution in mind.
As long as you have xhdpi assets, and layouts made for 10" tablets, you shouldn't have to do anything (except add a new xxhdpi launcher icon, as #Mattias mentioned).
To make a Nexus 10 AVD, navigate to Device Definitions:
Then, click New Device. Fill it out something like this:
Now it will be listed in the devices drop-down that you show above.
Regarding your second point, resources:
While the nexus 10 is a xhdpi device, it will use the launcher icon from xxhdpi "one bucket up" if available, so make sure to provide one as it will look much better/clearer/sharper. Reason is that there is room for a bigger icon on this device. Launcher icon size at xxhdpi is 144x144 pixels.
For reference see:
https://plus.google.com/118292708268361843293/posts/ePQya3KsTjW
The best way to emulate the Nexus 10 is to use AndroVM. I am currently running Android on it with the full Nexus 10 2560x1600 resolution and it fits onto my HD screen if I set AndroVM to use 320dpi.
Oh.. and it's VERY fast :-)
I personally use it over emulators and real hardware devices as it's extremely responsive and the deployment of the APK is lightning fast.
I do not contribute to the AndroVM project myself by the way, but it has speeded up my own development cycle considerably. In all development cycles, a developer waiting to see if their code tweaks work using an emulator or a hardware device adds considerable time overhead. I would thoroughly recommend using AndroVM regardless of screen size during normal code development.
I am trying to create the android emulator for Nexus 10 using latest ADT(21) and SDK tools. I have the following configuration for the Nexus 10 AVD:
Screen Size - 10 inches
Resolution - 2560 X 1600
Screen Size - xlarge Screen Density - Xhdpi
Screen ratio - long
RAM - 1024
Let me know if this configuration is wrong. After creating the above Configuration I was able to create the AVD but couldn't load it. It only shows a black screen. What could be the problem here?
I am Using Ubuntu 11.10.
I had the same issue. You can do one thing,
1) When you create AVD, make sure Use Host GPU option is checked.
It worked for me, in my Mac OS X Mountain Lion 10.8.2, and eclipse juno.
EDIT : Sorry folks for the confusion. There is no Google Nexus 10 skin (at the time of writing this). What you see in the image is a Nexus 10 equalant I created using Device Definition (AVD manager 2nd tab) feature of eclipse. It is just I named it as Nexus 10 and it is not default google emulator.
I think the monitor resolution is more important than the hardware of your computer. I have a PC i7 & 16GB RAM under Windows 7, with two DELL monitor 1920x1080 and it is imposible to run Nexus 10 emulator. This computer runs Nexus 7 emulator perfectly.
But my less powerfull iMac i5 & 8 GB RAM under OSX Mountain Lion, runs perfectly Nexus 10 AVD.
I have tried with/without use host gpu option, and only work when it is checked.
I have tried to emulate other devices like Samsung Galaxy S4 and it happens the same!
By the way, it is recomended to specify low value RAM and SD Card values for performance (512MB & 16-96MB).
I had the same issue (have, actually). It is quite simple, the resolution and the screen density are just too high for your monitor (on that screen size), so it cannot display it. - I am sure your emulator runs perfectly on other configurations
This is the correct configuration for an Nexus 10 Android Virtual Device:
Your screensize and density was wrong.
Screen Size - 10.1 inches Resolution - 2560x1600
Size - xlarge Density - xxhdpi
Screen Ratio - long RAM - 2048 MiB
One more way is to use new
Genymotion Android Emulator
It is available for Ubuntu also , have a look at my post for other info related to it.
With IntelliJ you need to open tools - android - AVD manager and then when you add a new AVD try ensuring that your CPU/ABI is set to ARM(armeabi) Had some trouble before like this and it was down to this setting.
Hope this helps!
I want to begin development for mobile and android seems like a good choice (with iphone requiring a mac and WP7 not being that popular).
I have a question regarding the testing platform, I'm pretty low on cash and have been wondering if using a mid range phone would hinder my development? I have the ability to buy either a LG Optimus One, a Motorola Milestone or a Nexus One, all representing different segments of the market and each one costing more than the previous.
two concerns I had were screen resolution and CPU power, how much does these two variables matter to development?
Well:
Resolution - there are 3 main groups:
ldpi - Low Density - devices with screens 240 x 320,
mdpi - Medium Density - 320 x 480,
hdpi - High Density - 480 x 800, or 480 x 854.
Of course the bigger screen == the more expensive phone.
2 . CPU power - all currently available CPUs (besides a few low-end phones) will propably serve you well (of course, it depends on what do you really want to do)
I, as a developer, would like to add here a third element - which API level (version of Android) are you targeting? Nowadays, 2.1 - 2.3 rocks, and 3+ if the device is a tablet.
Keep in mind, that if you buy a great phone, you may develop application which will be running quite fast on it, but it will not on other low-end devices. Btw, you can always check if all elements will properly layout on the lower screen using built-in emulator(s). So, in my opinion, there is good to have mid-end phone, just to check sth(s).
PS : Nexus one - AFAIK this phone is a debug version (means you can do a little more than with a standard retail phone :) ).
If you can buy a Nexus One that will serve perfectly. Obviously it doesn't cover every form factor but its BETTER than a midrange phone.
If you come across issues on a specfic device you can always use a cloud debugging service like:
http://www.perfectomobile.com/ (they used to have 2 hours free when you register)
You can emulate the different screen sizes
CPU power depends completely on what you are coding, but most the time you should be ok.
Me Personally I've got:
a Nexus One running 2.3
a HTC G1 running 1.6 (flip out keyboard formfactor)
I also use perfecto for issues with the SonyErricson X10mini (ldpi)
I emulate Honeycomb 3.0 on the PC (altho hoping to buy a XOOM soon).
Putting on my MBA hat: From a product development perspective it's probably a good idea to make sure your product runs on the widest product segment of whatever platform you're developing for. If that happens to be a mid-range product, your development efforts are probably aimed at the largest market segment and potential customers might be more likely to own/purchase this device. Even better if there's a common platform across all segments. You should probably perform some sort of market analysis to prove this out.