====== Android App Development ====== 12.2.2015 Today the day has come, where I want to do my first experience on writing code for adnroid apps :) ===== Tool chain ===== * Android Studio 1.0.1 * USB cable * Sony Xperia Z1 compact ===== Setup ===== I tried to deploy an example app (NetworkConnect), but my phone isn't recognized. There are a view things, that have to be done: * Enable Developer Settings on the Phone by going to Settings->About Phone and tap 7 times the Build-Number :) \\ It seems, that this is something, that only developer will find out :) * Allow USB debugging on the phone * Set ... ==== ... permissions on linux: ==== lsusb find the line with the phone. in my case it is: Bus 003 Device 007: ID 0fce:61a7 Sony Ericsson Mobile Communications AB then edit the permissions file: sudo kate /etc/udev/rules.d/51-android.rules and add the line SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666", GROUP="plugdev" * sudo service udev restart \\ (not sure, if this is needed) * reconnect usb cable * Now we can hit the play-button in the android studio, and select the device! ====== Qt on Android ====== 25.2.2015 I've also tested Qt 5.4 on Android 4.4 and 2.3.3 (HTC Desire Z) In addition to Qt Creator and the Qt SDK we also have to install Android SDK and NDK. \\ But with this done, it works flawless as expected with Qt! Really Great! The menu bar of the QMainWindow is displayed on Android 4.4 as a 3-dot button, and on Android 2.3 it comes up, when hitting the hardware menu button. Until now, I've only tested QtWidgets. Perhaps QtQuick would also be very impressive. But I think I have heard, that QtQuick doesn't present a native look and feel. ===== June 2017 ===== With Qt 5.9 * install SDK, NDK Rev. 10e, JDK 8 * sudo apt install ant build-essential libgl1-mesa-dev gcc g++ Virtualbox * stop guest * install VirtualBox Extension Pack from Oracle * add the user of the host-system to the group vboxuser * log out and back in to update groups * add USB-Device in the settings of the guest system * start guest system * replug the device * add USB-rules described above in the guest system. ===== March 2019 ===== * Oracle Java installiern: http://ubuntuhandbook.org/index.php/2018/05/install-oracle-java-jdk-8-10-ubuntu-18-04/ sudo add-apt-repository ppa:linuxuprising/java sudo apt update sudo apt install oracle-java11-installer sudo apt install oracle-java11-set-default * https://stackoverflow.com/questions/42041461/install-android-sdk-without-studio-on-linux-for-qt-creator * Android SDK herunterladen und in /usr/local/android/android-sdk/tools entpacken * Android NDK herunterladen und in /usr/local/android/android-sdk/android-ndk entpacken Noch geht's nicht, Qt Creator beschwert sich darüber, dass SDK nicht installiert ist. Der sdkmanager in /tools/bin kann nicht ausgeführt werden, weil es zu Java Laufzeitfehlern kommt... Nun probier ich es mit der Installation des Android Studios... So hats geklappt. NDK muss über den sdkmanager nachinstalliert werden, aber dann findet Qt Creator alles, was er braucht um die App zu compilieren und aufs Handy zu laden. ===== Okt. 2020 ===== sudo apt install openjdk-8-jdk * [[https://r13---sn-uxax3vh50nugp5-8pxe7.gvt1.com/edgedl/android/studio/ide-zips/4.1.0.19/android-studio-ide-201.6858069-linux.tar.gz?cms_redirect=yes&mh=gy&mip=178.190.234.86&mm=28&mn=sn-uxax3vh50nugp5-8pxe7&ms=nvh&mt=1602774078&mv=m&mvi=13&pcm2cms=yes&pl=14&shardbypass=yes|Download Android Studio 201.6858069]] * [[https://dl.google.com/android/repository/android-ndk-r21d-linux-x86_64.zip|Download Android NDK r21d]] {{tag>software linux english android programming}}