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文件,如下图:

相关推荐
小乖写代码24 分钟前
49款开源Android小游戏
android·游戏
三少爷的鞋1 小时前
小团队的最优解:单 Module + 包内 Clean 架构
android
爱和冰阔落1 小时前
【Linux】两个毫无关系的进程怎么通信?命名管道 FIFO 从原理到 Server/Client 实战
android·linux·数据库·c++·vim
年小个大10 小时前
受 go-zero 启发,我给 Flutter 写了一套 CLI 脚手架
android·flutter·架构
Android-Flutter11 小时前
为什么说ActivityThread是主线程?
android·kotlin
余额瞒着我当琳13 小时前
C++模板初阶与STL初探
android·java·c++
知行合一。。。16 小时前
DeepAgents--01--Agent和OpenClaw的相关概念
android·数据库
汪海游龙17 小时前
告别 Play Console 手动上传:从模拟器截图到自动发版的完整流水线
android·ci/cd·github
weixin_4407841117 小时前
【IntentSeivice实现原理】
android·java·开发语言·intentservice
delta_hell18 小时前
【阅读源码--Android】动画之ValueAnimator--2
android·源码·valueanimator