View this PageEdit this PageUploads to this PageVersions of this PageHomeRecent ChangesSearchHelp Guide

Preparar un Debian 8.0 Jessie x86_64 para desarrollar para Android (Android Studio)

Se sigue este howto

1. Se instala el openjdk-7.0-jdk (por si acaso; es una alternativa a la JDK oficial)
 apt-get install openjdk-7-jdk

2. Se descomprime el tgz del android studio en el home

3. Se descarga la última JDK7 y se hace
cat jdk-7u60-linux-x64.tar.gz | ( cd /usr/lib && mkdir -p jvm && cd jvm && tar -xvzf - )
version=jdk1.7.0_60
update-alternatives --install /usr/bin/java java /usr/lib/jvm/$version/bin/java 1
update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/$version/bin/javac 1
update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/$version/bin/javaws 1
update-alternatives --config java
update-alternatives --config javac
update-alternatives --config javaws


4. Se instalan las librerías que necesita el adb del android studio
 apt-get install libncurses5:i386 libc6:i386

5. Y por último se genera un script para arrancarlo:
mkdir ~/bin
cd ~/bin
echo "#!/bin/bash" > studio.sh
echo 'exec ~/android-studio/bin/studio.sh "$@"' >> studio.sh
chmod a+x studio.sh


6. Se instala el paquete del gradle desde https://launchpad.net/~cwchien/+archive/ubuntu/gradle/+packages
mkdir src.gradle
cd src.gradle/
wget https://launchpad.net/~cwchien/+archive/ubuntu/gradle/+files/gradle-2.3_1.0-0ubuntu1.debian.tar.xz https://launchpad.net/~cwchien/+archive/ubuntu/gradle/+files/gradle-2.3_1.0-0ubuntu1.dsc https://launchpad.net/~cwchien/+archive/ubuntu/gradle/+files/gradle-2.3_1.0.orig.tar.gz
dpkg-source -x gradle-2.3_1.0*dsc
cd gradle-2.3-1.0/
dpkg-checkbuilddeps 
fakeroot debian/rules binary
su
dpkg -i ../gradle-2.3_1.0-0ubuntu1_all.deb


7. Se hace el workaround para el "broken pipe" con el gradle:
 sed -i s/preferIPv4Stack/preferIPv6Stack/g ~/android-studio/bin/studio*.vmoptions

8. Se arranca el programa con
 studio.sh

NOTA: Para compilar un proyecto, no parece funcionar desde el android-studio si está el problema del "broken pipe", pero sí si se hace "a mano". Por ejemplo:
 ~/AndroidStudioProjects/GeoTcm$ gradle compileDebugJava --stacktrace

NOTA: Para arreglar el problema con el Gradle, hay que seguir estas instrucciones. Básicamente:
 sed -i s/preferIPv4Stack/preferIPv6Stack/g ~/android-studio/bin/studio*.vmoptions

NOTA: Para borrar la instalación actual, hay que hacer:
 rm -rf ~/.AndroidStudio ~/.gradle ~/android-studio
 mv ~/AndroidStudioProjects ~/AndroidStudioProjects.old

Instalar el kvm para acelerar el emulador de android


Se sigue esta guía y esta otra

apt-get install qemu-kvm libvirt-bin bridge-utils
adduser <youruser> kvm
adduser <youruser> libvirt


Y después hay que salir y entrar en el usuario para que coja los nuevos grupos.


Hacer que arranque las X usando systemd en vez de inittab


Se usa este post>https://web.archive.org/web/20130923231738/http://forums.opensuse.org/blogs/jdmcdaniel3/systemd-using-after-local-script-opensuse-12-1-71/.

vi /etc/systemd/system/after-local.service
systemctl enable /etc/systemd/system/after-local.service
grep RUNSTART /etc/inittab > /etc/init.d/after.local
vi /etc/init.d/after.local
chmod a+x /etc/init.d/after.local


 /etc/systemd/system/after-local.service
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU General Public License as published by
#  the Free Software Foundation; either version 2 of the License, or
#  (at your option) any later version.

[Unit]
Description=/etc/init.d/after.local Compatibility
ConditionFileIsExecutable=/etc/init.d/after.local

[Service]
Type=oneshot
ExecStart=/etc/init.d/after.local
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target


 /etc/init.d/after.local
#!/bin/sh
exec /bin/bash -login -c "export RUNSTARTX=YES ; /bin/login -p -h localhost -f dario </dev/tty1 2>/dev/tty1 >/dev/tty1 ; exit"



Configuración del sonido:


Para hacer que ponga primero la PCH en vez de la salida audio HDMI se ha hecho lo siguiente (siguiendo este howto>https://forums.gentoo.org/viewtopic-p-6071375.html):

 /etc/modprobe.d/aaa-sonido.conf 
options snd-hda-intel id=PCH,HDMI index=0,1 


 /home/dario/.asoundrc
pcm.!default {
  type plug
  slave {
    pcm "hw:0,0"
  }
}
ctl.!default {
  type hw
  card 0
}