Android Studio创建HelloWorld(kotlin版本)

本文目录

新建HelloWorld项目

创建项目的细节就不说了,大部分都会。可以参考:Android Studio创建Hello word超详细

关闭代理,配置镜像仓库地址

关闭代理有三个地方。

第一个地方 ,Proxy Settings提示框。选择No。

第二个地方C:\Users\你的windows用户名\.gradle 目录下,有个gradle.properties文件,如下图。

用notepad++打开,把代理内容前面加#,都注释掉。如下图:

第三个地方 ,在Android studio打开File, Settings, Appearance & Behavior, System Settings, HTTP Proxy。如下图,选择No proxy, 点击OK。

代理彻底关闭之后,配置镜像才起作用。

找到settings.gradle文件,如下图:

在settings.gradle文件中,找到repositories 增加下面的4行:

gradle 复制代码
        maven { url 'https://maven.aliyun.com/repository/google' }    // 替代google()
        maven { url "https://maven.aliyun.com/repository/central" }
        maven { url 'https://maven.aliyun.com/repository/public' }  // 替代mavenCentral()
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } // 插件仓库

其他默认仓库也不要注释掉,保留。

完整如下:

gradle 复制代码
pluginManagement {
    repositories {
        maven { url 'https://maven.aliyun.com/repository/google' }        // 替代google()
        maven { url "https://maven.aliyun.com/repository/central" }
        maven { url 'https://maven.aliyun.com/repository/public' }       // 替代mavenCentral()
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } // 插件仓库
        google()
        mavenCentral()
        gradlePluginPortal()
    }
}
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        maven { url 'https://maven.aliyun.com/repository/google' }        // 替代google()
        maven { url "https://maven.aliyun.com/repository/central" }
        maven { url 'https://maven.aliyun.com/repository/public' }       // 替代mavenCentral()
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } // 插件仓库
        google()
        mavenCentral()
    }
}

rootProject.name = "GradleDemo"
include ':app'

解决AGP、SDK、依赖库版本冲突

  • 删除无用的testImplementationandroidTestImplementation,androidTestImplementation 依赖。
  • 调整依赖库的版本,和AGP匹配。下面是我的配置:
    Android Studio版本:2022.3.1
    gradle: gradle-8.0-bin.zip
    Android Gradle plugin: 8.1.4
    调好的gradle文件
groovy 复制代码
plugins {
    id 'com.android.application'
    id 'org.jetbrains.kotlin.android'
}

android {
    namespace 'com.example.gradledemo'
    compileSdk 34

    defaultConfig {
        applicationId "com.example.gradledemo"
        minSdk 24
        targetSdk 34
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        vectorDrawables {
            useSupportLibrary true
        }
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
    buildFeatures {
        compose true
    }
    composeOptions {
        kotlinCompilerExtensionVersion '1.4.3'
    }
    packaging {
        resources {
            excludes += '/META-INF/{AL2.0,LGPL2.1}'
        }
    }
}

dependencies {

    implementation 'androidx.core:core-ktx:1.12.0'
    implementation 'androidx.activity:activity-compose:1.7.2'
    implementation platform('androidx.compose:compose-bom:2023.10.01')
    implementation 'androidx.compose.ui:ui'
    implementation 'androidx.compose.ui:ui-graphics'
    implementation 'androidx.compose.ui:ui-tooling-preview'
    implementation 'androidx.compose.material3:material3'

}

调好的项目我上传到Gitee上,https://gitee.com/zhagnjinaaaa/kotlin-hello-world 可以下载参考。

生成apk

打开gradle面板,找到里面有个三角形的小窗口,点击。如下图:

弹出的窗口,输入assembleDebug,选择:app:assembleDebug点击执行,如下图:

打包完成后,可以看到apk文件,如下图:

相关推荐
Xzaveir14 小时前
不要用一个状态表示“号码已认证”:企业号码身份的四域模型
android·人工智能
(Charon)14 小时前
【C++】手写 MySQL 连接池(二):同步连接的获取、加锁与释放
android
zhangjin112016 小时前
AOSP下载
android
Mico1816 小时前
MySQL 8.0.35 GTID 主从复制搭建-基于GITD
android·mysql·adb
YXL1111YXL18 小时前
LeakCanary 源码解析检测泄露工作机制(一)
android·leakcanary
且随疾风前行.20 小时前
Android Binder 驱动 - 内核驱动层源码初探
android·网络·binder
额恩6620 小时前
AI 智能体从零搭建实战教程——扣子
android·rxjava·coze
帅次20 小时前
Kotlin Flow 与 StateFlow:UI 单向数据流基础
开发语言·ui·kotlin·stateflow·onlifecycle
hunterandroid20 小时前
前台服务适配与线上排查:通知权限、启动限制和任务保活
android·前端
帅次21 小时前
Android 高级工程师面试:Flutter 渲染与性能 近1年高频追问 20 题
android·flutter·面试·渲染·性能