android studio里面build.gradle文件说明,ndk版本和gradle插件关系

这篇具有很好参考价值的文章主要介绍了android studio里面build.gradle文件说明,ndk版本和gradle插件关系。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

项目的build.gradle文件 内容说明

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

// 整个文件就是一个project对象,隐含了一个project对象,执行下面那个方法
// project.buildscript() project.allprojects() project.task()


/*
 告诉gradle需要下载这个jar包,里面包含种android编译打包的插件类

 gradle到哪里下载这个jar包呢 ?????
    由 repositories {
        jcenter()
    }指定,即到jcenter网站去下载
 */
buildscript {
    ext.kotlin_version = '1.3.61'
    repositories {
        google()
        jcenter()
        
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.6.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

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

//调用这个方法是告诉所有子module,下载依赖就到jcenter网站去下
allprojects {
    repositories {
        google()
        jcenter()
        
    }
}

// 调用这个方法为这个项目构建创建一个任务,可以等构建脚本解析完执行这个任务删除构建生成的build目录
task clean(type: Delete) {
    delete rootProject.buildDir
}

一、上述的android gradle 插件版本和gradle版本 对应关系

        Android Gradle 插件版本说明  |  Android 开发者  |  Android Developers 

        ndkversion,android studio,android,ide

二、修改gradle版本(gradle-wrapper.properties文件),gradle插件版本(build.gradle文件)

ndkversion,android studio,android,ide  

app里面的build.gradle 内容说明


// 整个文件就是一个project对象,隐含了一个project对象,执行下面那个方法
// project.apply() project.android() project.dependencies()

/*
    apply方法的作用是在应用一个android插件
    android插件其实就是一个类,这个方法调用后其实是调用Android插件的apply方法
    注意
        只有最开始调用了apply plugin: ‘com.android.application’方法
        project才有android方法
 */


apply plugin: 'com.android.application' // 应用android插件
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'


// 告诉gradle android app构建的一些配置
android {
    compileSdkVersion 29
    buildToolsVersion "29.0.3"

    defaultConfig {
        applicationId "com.face_recon" //appid 唯一标识符
        minSdkVersion 21 //低于该android版本的,无法安装该apk
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"   //测试使用
        
        ndk {
            abiFilters 'armeabi-v7a'
            stl "gnustl_static"
        }

        externalNativeBuild {
            cmake {
                arguments "-DANDROID_TOOLCHAIN=clang"
                cppFlags "-fopenmp -O2 -fvisibility=hidden -fvisibility-inlines-hidden -fomit-frame-pointer -fstrict-aliasing -ffunction-sections -fdata-sections -ffast-math "
                cppFlags "-fopenmp -static-openmp" // 指定-static-openmp 静态,不然到时候运行会找不到该动态文件
                cppFlags "-std=c++11"
                cppFlags "-frtti"
                cppFlags "-fexceptions"
                abiFilters 'armeabi-v7a' // 编译成指定框架的so文件
            }
        }
		// 如果上面指定的框架(abiFilters)有多个的话,要指定ndk打包abi类型
		//ndk {      //添加这个,这个是打包时指定的abi类型
		//	abiFilters "armeabi-v7a"
		//}
    }
	
    buildTypes {
        release {               // 执行assembleRelease打release包才会使用
            minifyEnabled false // 不混淆代码
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' //混淆代码依据的配置文件
        }
    }

    //    添加第三方库
//    方法一:直接添加到jniLibs目录(cpp同级目录) 注意大小写,会自动加载
//    方法二:在main目录下自定义一个目录mylib,然后在build.gradle的android标签下,增加以下内容:
//
//    sourceSets {
//        main {
//            jniLibs.srcDirs = ['mylib']
//        }
//    }
    externalNativeBuild {
        cmake {
            path "src/main/cpp/CMakeLists.txt"
            version "3.10.2"
        }
    }
}

//dependencies方法是告诉gradle这个module构建需要下载哪些依赖jar
dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation  'com.android.support:appcompat-v7:29.0.3'
    implementation 'androidx.core:core-ktx:1.2.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}

NDK版本 和 gradle 插件版本关系

        NDK版本默认是根据配置Android Gradle插件版本(AGP)来选择。

          安装及配置 NDK 和 CMake  |  Android 开发者  |  Android Developers

ndkversion,android studio,android,ide 

修改NDK版本

方法一:模块的 build.gradle 文件,使用 android.ndkVersion 属性指定相应的版本 

android {
    ndkVersion "xxxx" //例如 ndkVersion "21.0.6113669"
}

方法二:修改local.properties文件文章来源地址https://www.toymoban.com/news/detail-563583.html

# 路径为自己下载的ndk目录
ndk.dir=D\:\\Android\\SDK\\ndk\\21.0.6113669

到了这里,关于android studio里面build.gradle文件说明,ndk版本和gradle插件关系的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Android Gradle 插件】Android Studio 工程 Gradle 构建流程 ② ( settings.gradle 构建脚本分析 | 根目录下 build.gradle 分析 )

    pluginManagement 脚本块 , 用于 配置 Gradle 插件的 Maven 仓库 , 配置的是 构建过程 中 , 使用的仓库 ; dependencyResolutionManagement 脚本块 , 用于 配置 依赖 的 Maven 仓库 , 配置的是 工程 或 模块 下的依赖使用的仓库 ; 在 dependencyResolutionManagement 脚本块 中 定义的 repositoriesMode.set(Repositorie

    2024年02月03日
    浏览(55)
  • Android studio 出现com.android.build.gradle.internal.res.ResourceCompilerRunnable问题解决

    classpath ‘com.android.tools.build:gradle:4.2.1’ 改为 classpath ‘com.android.tools.build:gradle:4.1.3’ 4.1.3是可以排查xml资源错误的 找到错误的xml文件修改就可以了,一般都是项目合并的时候使用了相同的名称,不同的值。4.2.1不能运行,所以报错了

    2024年02月11日
    浏览(66)
  • Android studio Gradle面板里不显示build Task的解决方法

    问题如图: 解决方法: 在AS中,  File--Settings--Experimental里去掉only include test tasks..这一行的勾选  最后刷新一下工程,点击sync Project按钮即可  

    2024年02月16日
    浏览(46)
  • Android build.gradle文件

         其实ABI可以不设置,这样编译时,就会将项目里所有依赖资源包里的so库都打到最终的apk里。 但是,ABI支持多的话,apk也会大,所以一般只支持一种即可。 目前Android 版本,ABI一般配置 armeabi-v7a. 注意: 新增so库 新增so库的话,需要在每个在用的文件夹内(armeabi、arm

    2024年02月09日
    浏览(43)
  • android studio gradle build running慢 卡住不动 失败 原因与解决方式

    主要原因是 gradle 构建时无法从 网络 获取需要的包或库。 将国外库替换为阿里云镜像库。 例如 google 对应的库是 maven { url ‘https://maven.aliyun.com/repository/google’ }

    2024年02月11日
    浏览(79)
  • Android Studio报错:Could not resolve com.android.tools.build:gradle:8.0.0

    Android Studio 新建项目会报以下错误: 完整版报错信息如下: 原因:此为Android Studio默认的JDK版本与项目配置的Gradle所需的JDK不一致导致冲突所致。要求选择同一版本的JDK,可以选择Android Studio自带的jdk17。 解决方案:点击File --Project Structure -SDK Location-JDK location gradle Settings,将

    2024年02月11日
    浏览(56)
  • Android Studio 解决Could not resolve com.android.tools.build:gradle:7.4.2问题

    A problem occurred configuring root project \\\'MyApplication2\\\'. Could not resolve all files for configuration \\\':classpath\\\'.    Could not resolve com.android.tools.build:gradle:7.4.2.      Required by:          project : com.android.application:com.android.application.gradle.plugin:7.4.2          project : com.android.library:com.android.library.

    2024年02月01日
    浏览(89)
  • Android Gradle Plugin、Gradle、Android Studio版本关系

    参考链接 插件版本 所需的最低 Gradle 版本 8.3 8.4 8.2 8.2 8.1 8.0 8.0 8.0 7.4 7.5 7.3 7.4 7.2 7.3.3 7.1 7.2 7.0 7.0 4.2.0+ 6.7.1 4.1.0+ 6.5+ 4.0.0+ 6.1.1+ 3.6.0 - 3.6.4 5.6.4+ 3.5.0 - 3.5.4 5.4.1+ 3.4.0 - 3.4.3 5.1.1+ 3.3.0 - 3.3.3 4.10.1+ 3.2.0 - 3.2.1 4.6+ 3.1.0+ 4.4+ 3.0.0+ 4.1+ 2.3.0+ 3.3+ 2.1.3 - 2.2.3 2.14.1 - 3.5 2.0.0 - 2.1.2 2.10 - 2.1

    2024年02月20日
    浏览(56)
  • 【错误记录】Android Studio 编译报错 ( Could not resolve com.android.tools.build:gradle:7.4.2. )

    在 Mac 中安装了 Android Studio , 首次创建应用运行时 , 报如下错误 : 报错信息中有提示 : Doesn’t say anything about its target Java version (required compatibility with Java 8) A problem occurred configuring root project ‘DataBinding’. Could not resolve all files for configuration ‘:classpath’. Could not resolve com.android.

    2024年02月08日
    浏览(64)
  • Android Studio 修改 Gradle 版本

    Gradle 是一种强大的构建工具,广泛应用于 Android 开发中。它可以帮助我们管理项目的依赖、编译代码并生成可执行文件等等。在 Android Studio 中,Gradle 的版本是由项目的 build.gradle 文件指定的。本文将介绍如何修改 Android Studio 中的 Gradle 版本,并给出相应的源代码示例。 首先

    2024年02月02日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包