日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android Gradle(四) AGP使用与详解

發(fā)布時間:2024/3/26 Android 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android Gradle(四) AGP使用与详解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

AGP的使用主要是在模塊build.gradle 中android節(jié)點的配置,由于android節(jié)點的配置無法查看源碼,所以就只能熟能生巧了,死記硬背(●'?'●)。
下面我們來看下android節(jié)點配置的使用

1.Android節(jié)點的引入

apply plugin: 'com.android.application' //或者 plugins{id 'com.android.application' }

2.Android節(jié)點配置(代碼+注釋)

//AGP //com.android.application 提供 android {compileSdkVersion 30 //編譯時使用SDK的版本//Android Studio 4.2 版本后系統(tǒng)默認配置,用戶不需要配置 //buildTools主要是以下工具:aapt packgageTool abd dxbuildToolsVersion "30.0.3"//默認配置defaultConfig {applicationId "com.example.myapplication1" //應用的IDapplicationIdSuffix "fres" //追加后綴minSdkVersion 23 //最小支持Android系統(tǒng)版本targetSdkVersion 30 //針對開發(fā)使用的Android SDK版本,一般compileSdkVersion保持一致versionCode 1 //應用的版本號versionName "1.0" //應用的版本名稱buildConfigField 'String', 'YZAPP_NAME', '"遠智教育"' //往BuildConfig中寫入一個String字符串//多dex打包,主要是為了防止65535限制//一個dex文件只能有65535方法,因為dex文件會把所有類的方法 id 用一個short存儲,short對應65535multiDexEnabled true//ndk配置 市面上主要有armeabi-v7a arm64-v8a架構(gòu)//一般項目只要生成armeabi-v7a架構(gòu)。//現(xiàn)在應用商店也有提供兩種框架的上傳,可以根據(jù)需求打?qū)目蚣馨黱dk {abiFilters 'armeabi-v7a'//,"x86" // 'armeabi', ,'arm64-v8a'//, "x86"//,'arm64-v8a'}//測試引擎testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"//下面的功能主要是可以在AndroidManifest 獲取到build.gradle生成的字段//例如可以在AndroidManifest的`android:label="${app_name}"` 這樣使用,就可以獲取到對應的字段測試//或者一些常見的渠道化配置,APPKEY配置 //<meta-data android:name="JPUSH_APPKEY" android:value="${JPUSH_APPKEY}" />manifestPlaceholders = [app_name: "測試",JPUSH_APPKEY : 'f4451546546445545']}flavorDimensions "channel", "charge" //維度,就是針對一種類型的產(chǎn)品風味的描述//排列組合productFlavors {huawei {dimension "channel"//插入自定義的資源節(jié)點,類似于strings.xml 不能有重復的資源節(jié)點resValue 'string', 'app_name1', "自定義appname" resValue 'string', 'aaa', "aaa" }oppo {dimension "channel"}free {dimension "charge"}paid {dimension "charge"}aaa {dimension "charge"}}//每個BuildType都有一個SourceSet//包含源碼,源文件等信息sourceSets {//主要用來導入libs的庫main{jniLibs.srcDirs=['libs']}//主要使用在組件化項目中方便調(diào)試java{ // exclude 'src/main/'//組件管理if (rootProject.ext.android.is_application) {manifest.srcFile "src/main/debug/AndroidManifest.xml"//當模塊是應用的時候,加載module下的文件java.srcDir "src/main/debug"} else {manifest.srcFile "src/main/AndroidManifest.xml"resources {//正式版本時,排除debug文件夾下所有調(diào)試文件exclude "src/main/debug/*"}}}}//adb操作選項adbOptions{adb instll -s }//一般有兩種 release debug,也可以自定義buildTypes {release {zipAlignEnabled true //是否開啟ZipAlignshrinkResources true //清理無效資源minifyEnabled false //是否啟動代碼混淆proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'}debug {}custom {//繼承上面release的配置initWith releaseapplicationIdSuffix ".releaseCutsom"}}//簽名信息配置signingConfigs {release {keyAlias "yzxt"keyPassword "yZ@8uhb!@"storePassword "yZ@8uhb!@"storeFile file("../key/yzxt.jks")v2SigningEnabled truev1SigningEnabled true}debug {keyAlias "yzxt"keyPassword "yZ@8uhb!@"storePassword "yZ@8uhb!@"storeFile file("../key/yzxt.jks")v2SigningEnabled truev1SigningEnabled true}}//高版本Android Studio默認java1.8compileOptions {sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}//指定jvm版本kotlinOptions {jvmTarget = '1.8'} }

1.Android Gradle - Gradle 生命周期_wumeixinjiazu的博客-CSDN博客

2.Android Gradle - Gradle 和 AGP區(qū)別_wumeixinjiazu的博客-CSDN博客

3.Android Gradle - 根節(jié)點的build.gradle_wumeixinjiazu的博客-CSDN博客

4.Android Gradle - AGP使用_wumeixinjiazu的博客-CSDN博客

總結(jié)

以上是生活随笔為你收集整理的Android Gradle(四) AGP使用与详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。