首页 > 其他分享 >Android-2-manifest和build.gradle两个关键文件

Android-2-manifest和build.gradle两个关键文件

时间:2023-09-14 11:45:25浏览次数:27  
标签:appcompat androidx implementation 项目 manifest Android gradle com android

Androidmanifest.xml本质上就是用res中的文件配置项目的情况,像使用到的权限,app的名字,icon等等
build.gradle.kts本质上和maven没什么区别,主要是做两个事情,一是添加插件,二是添加库(检查有无这个库,没有的话就从网上下载)

Androidmanifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <!-- 这里的android是设置app的名字,就是在手机桌面上的名字-->
    <application
        android:allowBackup="true"
        android:dataExtractionRules="@xml/data_extraction_rules"
        android:fullBackupContent="@xml/backup_rules"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.MyApplication1"
        tools:targetApi="31">
        <!-- 这里的label设置的是活动的标题-->
        <activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

build.gradle.kts

// 首先第一行应用了一个插件,
// 一般有两种值可选:com.android.application 表示这是一个应用程序模块,
// com.android.library表示这是一个库模块
// 应用程序模块和库模块的最大区别在于,一个是可以直接运行的,一个只能作为代码库依附于别的应用程序模块来运行
plugins {
    id("com.android.application")
}

android {
    namespace = "com.kcy.myapplication1"

    // 指定项目的编译版本
    compileSdk = 33

    defaultConfig {
        // 指定项目的包名
        applicationId = "com.kcy.myapplication1"
        // 指定项目最低兼容的Android系统版本
        minSdk = 28
        // targetSdkVersion指定的值表示你在该目标版本上已经做过了充分的测试,系统将会为你的应用程序启用一些最新的功能和特性
        targetSdk = 33
        // versionCode用于指定项目的版本号
        versionCode = 1
        // versionName用于指定项目的版本名
        versionName = "1.0"

        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
    }

    // 指定生成安装文件的相关配置
    buildTypes {
        release {
            // 是否对项目的代码进行混淆
            isMinifyEnabled = false
            // proguardFiles用于指定混淆时使用的规则文件,这里指定了两个文件,
            // 第一个proguard-android.txt是在Android SDK目录下的,里面是所有项目通用的混淆规则,
            // 第二个proguard-rules.pro是在当前项目的根目录下的,里面可以编写当前项目特有的混淆规则
            proguardFiles(
                getDefaultProguardFile("proguard-android-optimize.txt"),
                "proguard-rules.pro"
            )
        }
    }
    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }
}

dependencies {

    // Android Studio项目一共有3种依赖方式:本地依赖、库依赖和远程依赖
    // 添加一个库依赖  implementation project(':helper')
    // implementation fileTree是一个本地依赖声明,
    // 它表示将libs目录下所有.jar后缀的文件都添加到项目的构建路径当中
    //  implementation fileTree(dir: 'libs', include: ['*.jar'])

    // 远程依赖声明,androidx.appcompat:appcompat:1.2.0就是一个标准的远程依赖库格式,
    // 其中androidx.appcompat是域名部分,用于和其他公司的库做区分;
    // appcompat是组名称,用于和同一个公司中不同的库做区分;
    // 1.2.0是版本号,用于和同一个库不同的版本做区分
    // 加上这句声明后,Gradle在构建项目时会首先检查一下本地是否已经有这个库的缓存,
    // 如果没有的话则会去自动联网下载,然后再添加到项目的构建路径当中
    implementation("androidx.appcompat:appcompat:1.6.1")
    implementation("com.google.android.material:material:1.8.0")
    implementation("androidx.constraintlayout:constraintlayout:2.1.4")
    // testImplementation 是用于声明测试用例库
    testImplementation("junit:junit:4.13.2")
    androidTestImplementation("androidx.test.ext:junit:1.1.5")
    androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
}

标签:appcompat,androidx,implementation,项目,manifest,Android,gradle,com,android
From: https://www.cnblogs.com/CoderWangEx/p/17702120.html

相关文章

  • android-1-入门
    环境配置下载正版androidstudio使用即可在androidstudio初始化第一次运行的需要注意的是三个东西是需要下载的androidapi33就是app程序编译成apk的sdk对应android9.0以上的版本的运行环境gradle一般自动下载,但可能失败手动下载:couldnotinstallgradledistribut......
  • Android 编译线程爆了, gradle 内存 OOM 解决之路
    本文首发我的微信公众号徐公,收录于Github·AndroidGuide,这里有Android进阶成长知识体系,希望我们能够一起学习进步,关注公众号徐公,5年中大厂程序员,一起建立核心竞争力背景最近我们项目在编译的时候,编译多次之后,有挺多人反馈会出现OOM的,在项目的根目录下面会出现hs_err_......
  • 爆肝总结2023Android面试,看完学会它,公司追着给你offer
    前言想要在面试中脱颖而出吗?想要在最短的时间内快速掌握Android的核心知识点吗?想要成为一位优秀的Android工程师吗?本篇文章能助你一臂之力!金九银十,目前正值招聘求职旺季,很多朋友对一些新技术名词都能侃侃而谈,但对一些核心原理理解的不够透彻,特别是对Android的一些核心基础知识点掌......
  • android 手机开发虚拟定位
    Android系统提供了模拟位置提供者(MockLocationProvider)来允许开发者模拟虚拟位置信息,用于测试应用的地理位置相关功能。1.获取模拟位置权限:在你的应用的AndroidManifest.xml文件中添加以下权限<uses-permissionandroid:name="android.permission.ACCESS_MOCK_LOCATION"/>2.启用......
  • 对标金九银十,分享32个模块的Android面试题,分分钟拿捏面试官
    前言2023年初伴随着疫情结束,迎来了“金三银四”。以为终于迎来胜利的“曙光”,不成想,现实却是当头一棒!!!从“金三银四”的“战绩”来看,程序员跳槽或者找工作并不理想,大批人迟迟找不到工作,大厂仍旧在进行几轮裁员,整个就业市场都不是太好!出现这种情况是因为中美贸易战,导致大环境不好、大......
  • Android 编译介绍
    一、需求        Android的源码非常的庞大,编译Android系统往往会占用我们很长的时间,我们需要了解下Android的编译规则,以期能提高我们的开发效率,达到程序员按时下班的伟大理想。二、环境平台:QCM2290版本:Android11编译服务器:64G+32核三、相关概念3.1Treble架......
  • 迅为RK3399开发板创建android工程
    打开 AndroidStudio 软件,点击“StartanewAndroidStudioproject”新建一个 NativeC++工程(因为我们要调用本地库,所以要创建这个 C++实例工程),点击“Next”2.填写创建信息,如下图所示。最后点击“finish”,等待几分钟,创建工程完成。3.在开始写代码前先编译一下刚刚创建的工程,确......
  • Android后台模拟点击探索(附源码)攻略
    ​本攻略将详细介绍如何在Android应用中使用后台模拟点击的技术。通过模拟点击,我们可以在后台执行一些用户交互操作,例如点击按钮、输入文本等。这对于自动化测试、批量操作等场景非常有用。步骤一:添加权限首先,在AndroidManifest.xml文件中添加以下权限:<uses-permissionandro......
  • 设置 Android 屏幕方向相关
    Activity在AndroidManifest.xml设置方向android:screenOrientation正向拿着手机(平时正常拿手机)对应角度为0度,此时屏幕为为竖屏,旋转180度,对应角度180度,此时屏幕为反向竖屏;90时此时屏幕为横屏(用户右侧(正向)横屏拿着手机),屏幕角度为270,此时屏幕为反向横屏。Android可以利用android:sc......
  • 我不理解,Android开发找工作为什么要这么难?
    前言今天算是有点感触,捞到一份简历,中国科学技术大学毕业,38岁,当过互联网大厂,小厂Android技术负责人,重新找工作,面试机会都没有给,hr直接被拒绝了。面试真的会越来越难吗?这个主意因人而异吧,因为现在也是正处于金九银十的黄金时期,能不能找到工作,关键还是在于面试,然后就是招聘信息中的......