# Descargar desde adoptopenjdk.net o usar chocolatey choco install openjdk17 # Verificar java -version # openjdk version "17.0.x"
brew install openjdk@17 # Configurar JAVA_HOME echo 'export PATH="/usr/local/opt/openjdk@17/bin:$PATH"' >> ~/.zshrc source ~/.zshrc
sudo apt-get install openjdk-17-jdk java -version
Descargar desde developer.android.com/studio
Primera ejecución:
1. Welcome → Next 2. Standard Installation (recomendado) 3. Seleccionar path de Android SDK (Típicamente: ~/Android/sdk o %APPDATA%\Android\sdk) 4. Descargar componentes (Android 15, emulador, etc.)
Android Studio → Settings → Appearance & Behavior → System Settings → Android SDK
Instalación vía CLI:
# Aceptar licencias yes | sdkmanager --licenses # Instalar específicos sdkmanager "platforms;android-36" sdkmanager "build-tools;36.0.1" sdkmanager "system-images;android-36;google_apis;arm64-v8a"
Descargar de git-scm.com
git --version
brew install git git --version
sudo apt-get install git git --version
Settings → Build, Execution, Deployment → Gradle → Gradle JDK: Configurado por IDE (17) O especificar manualmente: GRADLE_JDK=17
El proyecto incluye gradle wrapper:
# Windows gradlew.bat --version # macOS / Linux ./gradlew --version # Gradle 8.0 (recomendado)
gradle.properties (crear si no existe): org.gradle.jvmargs=-Xmx4g org.gradle.parallel=true org.gradle.workers.max=8
Settings → Plugins: - Kotlin - Git - GitHub Copilot (opcional) - Detekt (linting) - ktlint (formatting)
# Generar clave SSH (si no existe) ssh-keygen -t ed25519 -C "tu_email@example.com" # Agregar a GitHub cat ~/.ssh/id_ed25519.pub # Copiar a GitHub → Settings → SSH Keys # Clonar git clone git@github.com:AdaCompanyTeam/PAE.git cd PAE
git clone https://github.com/AdaCompanyTeam/PAE.git cd PAE
File → Open → seleccionar directorio PAE
Android Studio sincronizará automáticamente.
# Manualmente ./gradlew clean build # O desde Android Studio Build → Clean Project Build → Rebuild Project
# local.properties (en raíz del proyecto) sdk.dir=/path/to/Android/sdk # Ejemplos: # Windows: C:/Users/USERNAME/AppData/Local/Android/sdk # macOS: /Users/USERNAME/Library/Android/sdk # Linux: /home/USERNAME/Android/sdk
# Listar imágenes disponibles sdkmanager --list # Crear AVD avdmanager create avd \ --name "Nexus_5_API_36" \ --package "system-images;android-36;google_apis;arm64-v8a" \ --device "Nexus 5" # Listar AVDs creadas avdmanager list avd
Tools → AVD Manager
→ Create Virtual Device
→ Nexus 5 (compatibilidad)
→ API 36 (lat versión)
→ Finish
# Listar emuladores emulator -list-avds # Ejecutar emulator -avd Nexus_5_API_36 # Con opciones emulator -avd Nexus_5_API_36 -no-audio -gpu auto
# Habilitar KVM (Linux) sudo apt-get install qemu-kvm # Hardware acceleration emulator -avd Nexus_5_API_36 -accel on -gpu auto # En gradle.properties android.enableEmulatorDisplay1=true android.qemuid.display_type=FRAME
Settings → About phone
→ Tap "Build number" 7 veces
→ Developer options aparecen
→ Settings → Developer options
→ USB debugging: ON
# Windows / macOS / Linux adb devices # Si pide permiso, aceptar en dispositivo adb devices # Listar conectados # emulator-5554 device # 192.168.x.x:5555 device
# En dispositivo: Settings → Developer options # → TCP/IP debugging: puerto 5555 # En host adb connect 192.168.x.x:5555 # Verificar adb devices
# Via Android Studio Run → Run 'Machine' (o RutaPAE) → Seleccionar emulador/dispositivo # Via terminal ./gradlew :Machine:installDebug adb shell am start co.ada.paemachine/.MainActivity
# Mismo proceso: detecta dispositivo automáticamente ./gradlew :Machine:installDebug
# Terminal 1: seguir logs adb logcat # Terminal 2: run app ./gradlew :Machine:installDebug adb shell am start co.ada.paemachine/.MainActivity
# Información dispositivo adb shell getprop ro.build.version.release # Android version # Instalar APK adb install app-debug.apk # Desinstalar adb uninstall co.ada.paemachine # Shell interactivo adb shell > pm list packages > ls /data/data/co.ada.paemachine/ # Forward puerto adb forward tcp:8080 tcp:8080 # Pull archive adb pull /data/data/co.ada.paemachine/files/photo.jpg # Push archivo adb push photo.jpg /data/data/co.ada.paemachine/files/
# File system explorer Device File Explorer (Android Studio) Tools → Device File Explorer # Screenshots adb shell screencap -p /sdcard/screenshot.png adb pull /sdcard/screenshot.png
# Filtrar por tag adb logcat | grep "StateManager" # Filtrar por nivel adb logcat *:E # Solo errores # Con timestamp adb logcat -v threadtime # Exportar a archivo adb logcat > logs.txt 2>&1 # Limpiar logs adb logcat -c
REM Agregar a Environment Variables: JAVA_HOME=C:\Program Files\openjdk-17 ANDROID_SDK_ROOT=%APPDATA%\Android\sdk ANDROID_HOME=%APPDATA%\Android\sdk PATH=...;%JAVA_HOME%\bin;%ANDROID_SDK_ROOT%\platform-tools;%ANDROID_SDK_ROOT%\emulator REM Verificar echo %JAVA_HOME% echo %ANDROID_HOME%
# En ~/.bashrc, ~/.zshrc, o ~/.profile: export JAVA_HOME=/usr/libexec/java_home -v 17) # macOS export JAVA_HOME=/usr/lib/jvm/java-17-openjdk # Linux export ANDROID_SDK_ROOT=$HOME/Android/sdk export ANDROID_HOME=$ANDROID_SDK_ROOT export PATH=$PATH:$JAVA_HOME/bin export PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools export PATH=$PATH:$ANDROID_SDK_ROOT/emulator export PATH=$PATH:$ANDROID_SDK_ROOT/cmdline-tools/latest/bin # Aplicar cambios source ~/.bashrc # o source ~/.zshrc
#!/bin/bash # setup-check.sh echo "=== Verificar Setup PAE ===" echo -n "Java version: " java -version 2>&1 | head -1 echo -n "Git version: " git --version echo -n "Gradle version: " ./gradlew --version echo -n "Android SDK: " [ -d "$ANDROID_SDK_ROOT" ] && echo "OK" || echo "NOT FOUND" echo -n "JAVA_HOME: " echo $JAVA_HOME echo -n "Emulator: " emulator -version | head -1 echo "=== All set! ==="
Ejecutar:
chmod +x setup-check.sh ./setup-check.sh
./gradlew --stop # Limpiar caches rm -rf ~/.gradle/caches rm -rf .gradle
Android Studio → Settings → Appearance & Behavior → System Settings → Android SDK → Edit → Seleccionar ruta correcta → Apply
# Forzar JDK 17 export JAVA_HOME=/usr/libexec/java_home -v 17 # macOS export JAVA_HOME=/usr/lib/jvm/java-17-openjdk # Linux java -version # Debe mostrar 17.x
| Comando | Windows/Linux | macOS |
|---|---|---|
| Run | Shift+F10 | Ctrl+R |
| Debug | Shift+F9 | Ctrl+D |
| Build | Ctrl+F9 | Cmd+F9 |
| Gradle sync | (manual) | (manual) |
| Search | Ctrl+F | Cmd+F |
| Replace | Ctrl+H | Cmd+H |
| Go to class | Ctrl+N | Cmd+O |
| Go to file | Ctrl+Shift+N | Cmd+Shift+O |
| Go to line | Ctrl+G | Cmd+G |
Posicionarse en clase:
→ Code → Generate...
→ Getters/Setters
→ Equals/HashCode
→ toString()
→ Constructor
# Clean + build + test ./gradlew clean build connectedCheck # O por partes ./gradlew test # Unit tests ./gradlew connectedAndroidTest # Android tests ./gradlew lint # Lint check ./gradlew :Machine:assembleDebug # Build debug