El código fuente de Android de la plataforma Gizwits no se puede ejecutar en Android Studio durante el desarrollo secundario

Solución: el código fuente de Android de la plataforma Gizwits no se puede ejecutar en el estudio de Android durante el desarrollo secundario

1. Fenómeno

Debido a las necesidades de aprendizaje, sobre la base de un conocimiento de desarrollo de Android casi nulo, con la ayuda de la plataforma en la nube Gizwits para generar el paquete de código de función requerido. Sin embargo, al importar a Android Studio (versión 3.6), no se puede ejecutar. El fenómeno es que el botón de ejecución es gris y no hay ningún elemento en el cuadro Editar configuración.

2. Modifíquelo paso a paso

2.1. Cuando abre el archivo por primera vez, ha estado en el estado de carga, como se muestra en la siguiente figura: la
Inserte la descripción de la imagen aquí
sincronización ha estado en el estado de descarga, no espere la casualidad. . .

Motivo: El acceso doméstico a jcenter es demasiado lento o incluso no se puede conectar, informará varios errores sobre fallas de actualización dependientes. En el pasado, oschina (es decir, código abierto de China) proporcionó la dirección espejo de jcenter, pero desafortunadamente, por varias razones, el servicio ha sido descontinuado recientemente.

Solución: https://blog.csdn.net/ScarletMeCarzy/article/details/78471446
Consejo: Una vez completada la modificación, salga de AS y vuelva a ingresar.

El siguiente es mi código modificado:

Ubicación del archivo build.gradle(ubicado en la carpeta AndroidStudio en lugar de la carpeta de la aplicación)
Nota: En el código: 3.6.0 de classpath 'com.android.tools.build:gradle:3.6.0' se explica en 2.2, que varía de máquina a máquina (el software cambia automáticamente )

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.6.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

2.2 Problema de coincidencia de la versión de Gradle (he estado atrapado aquí durante mucho tiempo) (el botón gris se vuelve operativo después de completar este paso)
Este es un paso crítico. El siguiente sitio web oficial puede encontrar la correspondencia entre el complemento de gradle (tools.build) y el número de versión de gradle:
https://developer.android.google.cn/studio/releases/gradle-plugin#updating-plugin
Explique: otros lugares en Internet Todas las soluciones que encontré se descargaron manualmente, pero después de descargar de acuerdo con lo que dije en línea, todavía recibo un error de sincronización: no se
pudo aplicar el complemento [id 'com.android.application'] La
solución final es: abrir Archivos: Estructura del proyecto y seleccionar la versión para permitir Descarga automática de la computadora (la imagen de Alibaba Cloud se cambió a en el primer paso, por lo que la velocidad de descarga despega)

La siguiente imagen es mi correspondencia (tenga en cuenta que la ruta del NDK no está configurada de manera predeterminada, debe configurarla usted mismo):
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
2.3 Realice los dos pasos anteriores, la compilación de sincronización es exitosa y luego conecte el USB al teléfono móvil (el teléfono móvil abre el modo de depuración USB) y haga clic para ejecutar. Aparece una advertencia
Inserte la descripción de la imagen aquí
: Esta advertencia no se puede ignorar, de lo contrario, la aplicación móvil volverá a parpadear.
Motivo: la API en el archivo de configuración ha caducado y la API caducada debe modificarse.
Referencia: https://blog.csdn.net/weixin_40845165/article/details/89213528
Referencia: https://blog.csdn.net/weixin_44135826/article/details/105201233?fps=1&locationNum=2 El
siguiente es mi código:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion '29.0.3'     //这里是我下载的工具版本,看自己android studio下载的什么版本,最后会讲在哪里看自己的buildTools版本
    useLibrary 'org.apache.http.legacy'
    defaultConfig {
        applicationId "com.gizwits.opensource.appkit"
        minSdkVersion 16
        targetSdkVersion 25
        versionCode 1
        versionName "2.5.1.072715"
        multiDexEnabled true
        ndk {
            abiFilters "armeabi-v7a", "x86", "armeabi"
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    testImplementation 'junit:junit:4.12'
    implementation 'com.android.support:appcompat-v7:25.3.1'
    implementation files('libs/BLEasyConfig.jar')
    implementation files('libs/easylink2.0.jar')
    implementation files('libs/GizWifiSDK.jar')
    implementation files('libs/jpush-android-2.1.5.jar')
    implementation files('libs/Lark7618SDK_noudp1606031910_0101.jar')
    implementation files('libs/libammsdk.jar')
    implementation files('libs/libForEElink.jar')
    implementation files('libs/LSFSK_1.0.jar')
    implementation files('libs/ltlink2.jar')
    implementation files('libs/mta-sdk-1.6.2.jar')
    implementation files('libs/OneShotConfig.jar')
    implementation files('libs/open_sdk_r5756.jar')
    implementation files('libs/pushservice-5.6.0.30.jar')
    implementation files('libs/simpleconfigwizardlib.jar')
    implementation files('libs/xUtils-2.6.14.jar')
    implementation files('libs/zxing.jar')
    implementation 'com.android.support:design:25.3.1'
    implementation 'com.yanzhenjie:permission:1.0.5'
}

2.4 Ejecutar el error nuevamente después de la modificación:
Inserte la descripción de la imagen aquí
Motivo: error de versión baja
Solución: comente la sexta línea en el archivo AndroidManifest.xml (mueva el cursor al código y presione Ctrl + / para comentar), como se muestra en la figura a continuación (ya comentado):
Inserte la descripción de la imagen aquí

En resumen, el éxito.

3. Referencias y agradecimientos

Este artículo se refiere principalmente al artículo del autor CS sweeping monk : Solución: modifique el código original de Android del esquema Gizwits SOC, y la máquina virtual Android ejecuta con éxito la aplicación Gizwits .

Publicó un artículo original · Me gusta1 · Visitas 27

Supongo que te gusta

Origin blog.csdn.net/qq_42457131/article/details/105531865
Recomendado
Clasificación