App Choferes (Flutter)
Todos los repositorios se guardan en:
C:\\overskull\\
🧩 1. Versiones necesarias para este proyecto
| Herramienta | Versión |
|---|---|
| Flutter | 1.17.5 |
| Dart | Incluido en Flutter 1.17.5 |
| JDK | Amazon Corretto 8 |
| Gradle | 5.6.2 (wrapper del proyecto) |
⚠️ Este proyecto es LEGACY. No actualizar versiones.
🔽 2. Descargar Flutter (versión obligatoria del proyecto)
Descargar Flutter 1.17.5 desde el archivo histórico:
https://docs.flutter.dev/release/archive
📌 Guardar Flutter en:
C:\\overskull\\SDKFlutter\\
Ejemplo:
C:\\overskull\\SDKFlutter\\sdk1.17.5\\flutter
📌 No usar Flutter global del sistema.
🔧 3. Instalar JDK 8 (Amazon Corretto)
Descargar desde:
https://docs.aws.amazon.com/corretto/latest/corretto-8-ug/downloads-list.html
📌 Guardar Java en:
C:\\overskull\\java\\
Ejemplo:
C:\\overskull\\java\\amazon-corretto-8
🚀 4. Clonar el proyecto
git clone git@storegit.overskull.com:shalom-over-app/shalom_choferes.git
Entrar al proyecto:
cd shalom_choferes
📁 5. build.gradle (nivel proyecto)
Ruta:
C:\\overskull\\shalom_choferes\\android\\build.gradle
Ejemplo de referencia:
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.0'
classpath 'com.google.gms:google-services:4.2.0'
}
subprojects {
project.configurations.all {
resolutionStrategy.eachDependency { details ->
if (details.requested.group == 'com.android.support'
&& !details.requested.name.contains('multidex') ) {
details.useVersion "27.1.1"
}
/*if (details.requested.group == 'androidx.core'
&& !details.requested.name.contains('androidx') ) {
details.useVersion "1.0.1"
}
if (details.requested.group == 'androidx.lifecycle' &&
!details.requested.name.contains('androidx')) {
details.useVersion "2.0.0"
}*/
if (details.requested.group == 'androidx.core') {
details.useVersion "1.0.1"
}
if (details.requested.group == 'androidx.lifecycle') {
details.useVersion "2.0.0"
}
if (details.requested.group == 'androidx.versionedparcelable') {
details.useVersion "1.0.0"
}
if (details.requested.group == 'androidx.fragment') {
details.useVersion "1.0.0"
}
if (details.requested.group == 'androidx.appcompat') {
details.useVersion "1.0.1"
}
}
}
}
}
allprojects {
repositories {
google()
jcenter()
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
task clean(type: Delete) {
delete rootProject.buildDir
}
📌 Este archivo NO debe modificarse.
Contiene:
- Android Gradle Plugin 3.5.0
- Google Services 4.2.0
- Resolución forzada de dependencias AndroidX y Support Library
⚠️ Cambios aquí pueden romper la compilación.
📁 6. build.gradle (nivel app)
Ruta:
C:\\overskull\\shalom_choferes\\android\\app\\build.gradle
Ejemplo de referencia:
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
android {
compileSdkVersion 31
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
// TODO: Specify your own unique Application ID (<https://developer.android.com/studio/build/application-id.html>).
applicationId "com.overskull.shalomchoferes"
minSdkVersion 21
targetSdkVersion 34
versionCode 233
versionName '2.3.3'
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}
flutter {
source '../..'
}
dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
📌 Verificar:
compileSdkVersion 31minSdkVersion 21targetSdkVersion 34applicationId "com.overskull.shalomchoferes"
⚠️ No actualizar dependencias ni plugins.
⚙️ 7. Gradle Wrapper (configuración obligatoria)
Este proyecto NO usa gradle.properties para Java.
Editar:
C:\\overskull\\shalom_choferes\\android\\gradle\\wrapper\\gradle-wrapper.properties
Contenido de referencia:
#Fri May 09 09:34:57 PET 2025
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\\://services.gradle.org/distributions/gradle-5.6.2-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
📌 No cambiar la versión de Gradle.
🧰 8. Configurar la versión de Flutter usada por el proyecto
Editar:
C:\\overskull\\shalom_choferes\\.vscode\\settings.json
Contenido:
{
"dart.flutterSdkPath": "C:\\\\SDKFlutter\\\\sdk1.17.5\\\\flutter"
}
🧹 9. Limpiar el proyecto
cd android
gradlew clean
📦 10. Descargar dependencias
flutter pub get
🎉 11. Ejecutar el proyecto
flutter run
📌 Notas importantes
- Este proyecto usa Flutter 1.17.5 + Java 8.
- ❌ No actualizar Flutter, Java ni Gradle.
- ❌ No migrar AndroidX ni cambiar versiones forzadas.
- El archivo
android/build.gradlecontiene resoluciones críticas. - Proyecto recomendado solo para mantenimiento.
Si falla la compilación:
flutter clean
flutter pub get
No hay comentarios para mostrar
No hay comentarios para mostrar