System requirements for Android development
-
Recently, I started another attempt for Qt based Android development.
The start could have been a little smoother to say the least, but at least with Qt 5.9 I am able to create and run applications with a fairly low API level 17. However, from comfortable development I am still miles away. At the moment the best seems to create an Android application and copy to a device and start it. Other options like creating the application and testing on an AVD is a nightmare, because of missing performance.
I guess overall it is the problem of the system requirements at least on windows. On the download page of Android studio one can find a minimum requirement of 3 GB and 8GB (recommended) plus an additional 1 GB for AVDs.
I like to get some feedback on system parameters of some users especially in Android development and their experience.
I would appreciate your feedback on:
OS
RAM
SSD
HDD
and other parameters playing a role in your development.Thanks in advance.
-
Recently, I started another attempt for Qt based Android development.
The start could have been a little smoother to say the least, but at least with Qt 5.9 I am able to create and run applications with a fairly low API level 17. However, from comfortable development I am still miles away. At the moment the best seems to create an Android application and copy to a device and start it. Other options like creating the application and testing on an AVD is a nightmare, because of missing performance.
I guess overall it is the problem of the system requirements at least on windows. On the download page of Android studio one can find a minimum requirement of 3 GB and 8GB (recommended) plus an additional 1 GB for AVDs.
I like to get some feedback on system parameters of some users especially in Android development and their experience.
I would appreciate your feedback on:
OS
RAM
SSD
HDD
and other parameters playing a role in your development.Thanks in advance.
@koahnig Pentium 3.10GHz, 4G, SSD, 64-bit Win7. Another machine: Core Duo (2.somethingGHz IIRC), 4G, SSD, 64-bit Linux. Would I recommend this for the Android emulator? No. You should have at least 8G of memory. SSD is very good, much better than an old HDD. On the other hand, if you have e.g. 16G RAM (maybe even 8G would be enough) it will probably be used as disk cache and subsequent runs are quick. The processor isn't so critical IMO, although it of course affects the emulator startup time. The old adage of memory running out first and making the machine a pain to use is still true.
Luckily it's possible with Qt, in many cases, to develop mostly on desktop and use the mobile version only for testing.
-
Hi Koahnig,
I'm still using an older installation, but Qt5.9 is up to date ;-). Everything keeps on working , so why changing a working solution...
Here are the necessities I installed :
jdk1.8.0_60
apache-ant-1.9.6
NDK r10e
SDK manager 24.3.4My testing device is a Samsung Galaxy S5
I used AcerZ150 4.2.2 also, but I don't have that device at hand anymore.win 8.1 64 bit
8GB RAM
running from Fat partition (not SSD )It takes about 1 minute to build and deploy a simple Qt Quick controls 2 based application.
I never use the AVD, because I prefer to test on the device itself. There are always differences possible with the real world.
I tested it specially for you and it took about 3 minutes to put the same application on the AVDYou have to
Activate developer mode on the android device
Enable usb debugging on you deviceI heard of some problems with the newer android installations that could be resolved using an older one.
What device are you using? Sometimes you have to install specific drivers.
Hope it helps.
Eddy
-
I have started downloading the "GBs" as recommended within our documentation here respectively I had to follow some links and they may have ended in places with different targets than initially.
Anyway I have installed latest versions of
Android studio
SDK
NDK
Ant
GradleSome of this apparently several times, because of integration with Android studio and obscure version and obscure places to store. Together with simply adding the Qt android parts for the already installed QT lib version (5.4.2, 5.6.2 and 5.7.2). Meandering through different issues and understanding what the different parts actually are, stipulated m ycurrent knowledge. At hintsight all is more easy and the routes used unveil their flaws.
Anyway at the end I came to the conclusion that I better try to go for the newest versions everywhere exatly when Qt 5.9.0 came out. Suddenly, there was a note that Ant is deprecated and I should use gradle. I found that NDK r14 whatever is not of use because I have found a recommendation that NDK r10e is the best and newer still have problems.
All this on a Quad core processor in its age. Windows 10 64bit, 8 GB RAM, 1TB HDD, 0.5 TB HDD
OK, as I see my equipment is not as outdated as I feared, but a new machine with SSD and 32 GB is in planning state.
BTW while I was frustrated about different API levels and no possibility to get a heloo world app runing with Qt, I decided to do the same with Android studio. There I succeeded pretty fast with my hello world app. I got it to run in an AVD and on my old Google phone running Android 4.2.2. The experience gave me enough understanding to create a hello world app with Qt.
However, the use of AVDs was/is still a kind of mystery together with Qt. First of all, some manager tells me everytime that there are x86 based AVD, which are ten times faster than ARM based stuff I am using. Anyway, I got neither to work yet. The problems I see reminded me on my problems with VirtualBox and Ubuntu some time back. Therefore, I started to check more carefully where to find system requirements.
Thanks for your feedback and let's see, if we find other setups in the community.
-
I have started downloading the "GBs" as recommended within our documentation here respectively I had to follow some links and they may have ended in places with different targets than initially.
Anyway I have installed latest versions of
Android studio
SDK
NDK
Ant
GradleSome of this apparently several times, because of integration with Android studio and obscure version and obscure places to store. Together with simply adding the Qt android parts for the already installed QT lib version (5.4.2, 5.6.2 and 5.7.2). Meandering through different issues and understanding what the different parts actually are, stipulated m ycurrent knowledge. At hintsight all is more easy and the routes used unveil their flaws.
Anyway at the end I came to the conclusion that I better try to go for the newest versions everywhere exatly when Qt 5.9.0 came out. Suddenly, there was a note that Ant is deprecated and I should use gradle. I found that NDK r14 whatever is not of use because I have found a recommendation that NDK r10e is the best and newer still have problems.
All this on a Quad core processor in its age. Windows 10 64bit, 8 GB RAM, 1TB HDD, 0.5 TB HDD
OK, as I see my equipment is not as outdated as I feared, but a new machine with SSD and 32 GB is in planning state.
BTW while I was frustrated about different API levels and no possibility to get a heloo world app runing with Qt, I decided to do the same with Android studio. There I succeeded pretty fast with my hello world app. I got it to run in an AVD and on my old Google phone running Android 4.2.2. The experience gave me enough understanding to create a hello world app with Qt.
However, the use of AVDs was/is still a kind of mystery together with Qt. First of all, some manager tells me everytime that there are x86 based AVD, which are ten times faster than ARM based stuff I am using. Anyway, I got neither to work yet. The problems I see reminded me on my problems with VirtualBox and Ubuntu some time back. Therefore, I started to check more carefully where to find system requirements.
Thanks for your feedback and let's see, if we find other setups in the community.
@koahnig I forgot that I have used only x86 binaries with AVD, so ARM version may be much much slower, too slow for my machines. But with x86 the startup time of the AVD is the bigger problem, not running the (small) application. Recently I have used real Android devices for testing. There were problems setting up AVDs, some Android versions didn't work at all, got stuck in startup or got into some problem loop. Some Android versions worked well. Sometimes after updating the tools I had to create AVDs from scratch. In general I would be happy to have 8G memory and Quad core, but the problems were elsewhere.
Anyways, I recommend trying x86 version for more frequent development and ARM version or a real device for less frequent testing.
-
I have started downloading the "GBs" as recommended within our documentation here respectively I had to follow some links and they may have ended in places with different targets than initially.
Anyway I have installed latest versions of
Android studio
SDK
NDK
Ant
GradleSome of this apparently several times, because of integration with Android studio and obscure version and obscure places to store. Together with simply adding the Qt android parts for the already installed QT lib version (5.4.2, 5.6.2 and 5.7.2). Meandering through different issues and understanding what the different parts actually are, stipulated m ycurrent knowledge. At hintsight all is more easy and the routes used unveil their flaws.
Anyway at the end I came to the conclusion that I better try to go for the newest versions everywhere exatly when Qt 5.9.0 came out. Suddenly, there was a note that Ant is deprecated and I should use gradle. I found that NDK r14 whatever is not of use because I have found a recommendation that NDK r10e is the best and newer still have problems.
All this on a Quad core processor in its age. Windows 10 64bit, 8 GB RAM, 1TB HDD, 0.5 TB HDD
OK, as I see my equipment is not as outdated as I feared, but a new machine with SSD and 32 GB is in planning state.
BTW while I was frustrated about different API levels and no possibility to get a heloo world app runing with Qt, I decided to do the same with Android studio. There I succeeded pretty fast with my hello world app. I got it to run in an AVD and on my old Google phone running Android 4.2.2. The experience gave me enough understanding to create a hello world app with Qt.
However, the use of AVDs was/is still a kind of mystery together with Qt. First of all, some manager tells me everytime that there are x86 based AVD, which are ten times faster than ARM based stuff I am using. Anyway, I got neither to work yet. The problems I see reminded me on my problems with VirtualBox and Ubuntu some time back. Therefore, I started to check more carefully where to find system requirements.
Thanks for your feedback and let's see, if we find other setups in the community.
-
@koahnig Yes, using AVDs with Qt is sometimes a pain. I got it working somehow after poking around in the dark :-)
Here is still room for improvement.@jsulm said in System requirements for Android development:
@koahnig Yes, using AVDs with Qt is sometimes a pain. I got it working somehow after poking around in the dark :-)
Here is still room for improvement.Yes, you are right there.
@Eeli-K said in System requirements for Android development:
Anyways, I recommend trying x86 version for more frequent development and ARM version or a real device for less frequent testing.
At the moment I will avoid using an x86-AVD, because all those switching forth and back is not recommended when settings are not always restored. This simply gives another dimension of confusion, because of looking up the different reasons.
To be fair, the complexity stems from two dependent projects which are both fluctuant. The Android is changing all the time and Qt has to adapt with its environment and all its changes.
-
@jsulm said in System requirements for Android development:
@koahnig Yes, using AVDs with Qt is sometimes a pain. I got it working somehow after poking around in the dark :-)
Here is still room for improvement.Yes, you are right there.
@Eeli-K said in System requirements for Android development:
Anyways, I recommend trying x86 version for more frequent development and ARM version or a real device for less frequent testing.
At the moment I will avoid using an x86-AVD, because all those switching forth and back is not recommended when settings are not always restored. This simply gives another dimension of confusion, because of looking up the different reasons.
To be fair, the complexity stems from two dependent projects which are both fluctuant. The Android is changing all the time and Qt has to adapt with its environment and all its changes.
You could ask also on the Android google group : android-qt at googlegroups . com
Be aware this is mostly for testing new versions of Qt on Android. Maybe they know some workarounds for specific problems.Bogdan Vatra himself looks there and answers promptly in my experience. Nevertheless there is not much activity there lately, but worth a try I think.
Eddy
-
You could ask also on the Android google group : android-qt at googlegroups . com
Be aware this is mostly for testing new versions of Qt on Android. Maybe they know some workarounds for specific problems.Bogdan Vatra himself looks there and answers promptly in my experience. Nevertheless there is not much activity there lately, but worth a try I think.
Eddy
-
Thanks for your hint to Android google group.
I will probably wait a bit until my learning curve settles a bit more.
BTW: your link seems to be broken.
-
Memory upgrade seems to help with my AVD issue.
However, I am not completely sure why. The system has now 16 GB instead of 8 GB, but task manager shows a little less than 8GB used. Probably some parts used by win 10 are not properly listed respectively my interpretation is not completely correct.
Anyway, the system has been simply 8GB memory added. There were no other changes required and suddenly the AVD start succeeded. This is despite the fact that I still have an error message
The command "C:\Users\...\AppData\Local\Android\sdk\platform-tools\adb.exe" terminated with exit code 1.
This is an AVD for ARM as I require for my Google phone. It consumes a 1.2 GB and has a reserved 2 GB according to task manager.