Android Gradle(四) AGP使用与详解
生活随笔
收集整理的這篇文章主要介紹了
Android Gradle(四) AGP使用与详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
AGP的使用主要是在模塊build.gradle 中android節點的配置,由于android節點的配置無法查看源碼,所以就只能熟能生巧了,死記硬背(●'?'●)。
下面我們來看下android節點配置的使用
1.Android節點的引入
apply plugin: 'com.android.application' //或者 plugins{id 'com.android.application' }2.Android節點配置(代碼+注釋)
//AGP //com.android.application 提供 android {compileSdkVersion 30 //編譯時使用SDK的版本//Android Studio 4.2 版本后系統默認配置,用戶不需要配置 //buildTools主要是以下工具:aapt packgageTool abd dxbuildToolsVersion "30.0.3"//默認配置defaultConfig {applicationId "com.example.myapplication1" //應用的IDapplicationIdSuffix "fres" //追加后綴minSdkVersion 23 //最小支持Android系統版本targetSdkVersion 30 //針對開發使用的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架構//一般項目只要生成armeabi-v7a架構。//現在應用商店也有提供兩種框架的上傳,可以根據需求打對應的框架包ndk {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" //維度,就是針對一種類型的產品風味的描述//排列組合productFlavors {huawei {dimension "channel"//插入自定義的資源節點,類似于strings.xml 不能有重復的資源節點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']}//主要使用在組件化項目中方便調試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文件夾下所有調試文件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區別_wumeixinjiazu的博客-CSDN博客
3.Android Gradle - 根節點的build.gradle_wumeixinjiazu的博客-CSDN博客
4.Android Gradle - AGP使用_wumeixinjiazu的博客-CSDN博客
總結
以上是生活随笔為你收集整理的Android Gradle(四) AGP使用与详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++音视频开发核心知识,小白入门必看基
- 下一篇: 淘宝30块钱的逻辑分析仪无法安装驱动的解