(Desarrollo de Android) Explicación del archivo de configuración de compilación build.gradle y el archivo de configuración en ejecución AndroidManifest.xml

Brinde una explicación detallada del archivo de configuración de compilación build.gradle y el archivo de configuración en ejecución AndroidManifest.xml en el proyecto de desarrollo de Android.

Tabla de contenido

Compilar el archivo de configuración build.gradle

Aviso

Ejecute el archivo de configuración AndroidManifest.xml


Compilar el archivo de configuración build.gradle

El proyecto de aplicación recién creado tiene dos build.gradle de forma predeterminada, uno es el nivel de proyecto build.gradle y el otro es el nivel de módulo build.gradle.

  • El build.gradle a nivel de proyecto especifica las reglas de compilación generales del proyecto actual. Abra el archivo y busque los repositorios y los nodos de dependencias en el buildscript. El nodo de repositorios se utiliza para configurar la dirección del almacén de red del complemento de Android Studio. y el nodo de dependencias se utiliza para configurar gradle El número de versión del complemento. Dado que el almacén oficial de Google está ubicado en el extranjero y la velocidad de descarga es relativamente lenta, puede agregar la dirección del almacén de Alibaba Cloud en el nodo del repositorio para facilitar que los desarrolladores nacionales descarguen complementos relevantes. El contenido del nodo buildscript modificado es el siguiente:
  • El build.gradle a nivel de módulo corresponde a un módulo específico, y cada módulo tiene su propio build.gradle, que especifica las reglas de compilación detalladas del módulo actual.
android {
    // 指定编译用的SDK版本号。比如30表示使用Android 11.0编译
    compileSdkVersion 30
    // 指定编译工具的版本号。这里的头两位数字必须与compileSdkVersion保持一致,具体的版本号可在sdk安装目录的“sdk\build-tools”下找到
    buildToolsVersion "30.0.3"
   
    defaultConfig {
        // 指定该模块的应用编号,也就是App的包名
        applicationId "com.example.chapter02"
        // 指定App适合运行的最小SDK版本号。比如19表示至少要在Android 4.4上运行
        minSdkVersion 19
        // 指定目标设备的SDK版本号。表示App最希望在哪个版本的Android上运行
        targetSdkVersion 30
        // 指定App的应用版本号
        versionCode 1
        // 指定App的应用版本名称
        versionName "1.0"
        
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-androidoptimize.txt'), 'proguard-rules.pro'
        }
    }
}

// 指定App编译的依赖信息
dependencies {
    // 指定引用jar包的路径
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    // 指定编译Android的高版本支持库。如AppCompatActivity必须指定编译appcompat库
    //appcompat库各版本见
https://mvnrepository.com/artifact/androidx.appcompat/appcompat
    implementation 'androidx.appcompat:appcompat:1.2.0'
    // 指定单元测试编译用的junit版本号
    testImplementation 'junit:junit:4.13'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}

Aviso

¿Por qué las extensiones de estos dos archivos de configuración de compilación son Gradle? Esto se debe a que utilizan la herramienta Gradle para completar las operaciones de compilación y construcción. La versión de la herramienta Gradle está configurada en gradle\wrapper\gradle-wrapper.properties. También puede seleccionar el menú Archivo → Estructura del proyecto → Proyecto para modificar la versión de Gradle en la página de configuración emergente. Tenga en cuenta que cada versión de Android Studio tiene una versión de Gradle correspondiente. Solo cuando las dos versiones corresponden correctamente se podrá compilar correctamente el proyecto de la aplicación.

Ejecute el archivo de configuración AndroidManifest.xml

AndroidManifest.xml especifica la información de configuración en ejecución de la aplicación. Es un archivo de descripción XML. El contenido inicial es el siguiente:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.chapter02">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".Main2Activity"></activity>
        <!-- activity节点指定了该App拥有的活动页面信息,其中拥有
android.intent.action.MAIN的activity说明它是入口页面 -->
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

Se puede ver que el nodo raíz de AndroidManifest.xml es manifiesto y su atributo de paquete especifica el nombre del paquete de la aplicación. Hay un nodo de aplicación debajo del manifiesto y sus atributos se describen a continuación:

android:allowBackup, si se permite la copia de seguridad de la aplicación. Permite a los usuarios hacer una copia de seguridad de los paquetes de instalación de apk y los datos de las aplicaciones del sistema y de terceros para restaurar las aplicaciones después de una actualización o pérdida de datos. Los usuarios pueden hacer una copia de seguridad y restaurar los datos de la aplicación a través de adb backup y adb recovery. Verdadero significa permitido, falso significa no permitido.

  • android:icono, especifica el ícono que la aplicación muestra en la pantalla del teléfono.
  • android: etiqueta, especifica el nombre de la aplicación que se muestra en la pantalla del teléfono móvil.
  • android:roundIcon, especifica el icono redondeado de la aplicación.
  • android:supportsRtl, si se admite el orden de disposición del texto árabe/persa de derecha a izquierda. Si es verdadero significa que es compatible, si es falso significa que no es compatible.
  • android:theme, especifica el estilo de visualización de la aplicación.

Tenga en cuenta que hay un nodo de actividad debajo de la aplicación, que es la declaración de registro de la página de actividad. Solo cuando el nodo de actividad esté configurado correctamente en AndroidManifest.xml se puede acceder a la página de actividad correspondiente en tiempo de ejecución. La MainActivity configurada inicialmente es la página de inicio predeterminada de la App. La razón por la cual esta página es la página de inicio de la App es porque su nodo de actividad también está configurado con la siguiente información de filtrado:

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

El android.intent.action.MAIN establecido por el nodo de acción indica que esta página es la página de entrada de la App. Esta página se abrirá primero cuando se inicie la App. El android.intent.category.LAUNCHER establecido por el nodo de categoría determina si se muestra el ícono de la aplicación en la pantalla del teléfono móvil. Si hay dos nodos de actividad con android.intent.category.LAUNCHER configurado dentro al mismo tiempo, entonces los dos Las aplicaciones se mostrarán en el icono del escritorio. Es posible que las dos reglas de nodo anteriores no sean fáciles de entender al principio. Los lectores solo deben recordar que la página de inicio predeterminada debe configurarse con ambas reglas de filtrado.

Supongo que te gusta

Origin blog.csdn.net/danielxinhj/article/details/127736694
Recomendado
Clasificación