国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

flutter開發(fā)實(shí)戰(zhàn)-build apk名稱及指令abiFilters常用gradle設(shè)置

這篇具有很好參考價值的文章主要介紹了flutter開發(fā)實(shí)戰(zhàn)-build apk名稱及指令abiFilters常用gradle設(shè)置。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

flutter開發(fā)實(shí)戰(zhàn)-build apk名稱及指令abiFilters常用gradle設(shè)置

最近通過打包flutter build apk lib/main.dart --release,發(fā)現(xiàn)apk命名規(guī)則需要在build.gradle設(shè)置。這里記錄一下。

一、apk命名規(guī)則

在android/app/build.gradle中需要設(shè)置

  android.applicationVariants.all {variant ->
        variant.outputs.all {
            def buildTime = new Date().format('yyyyMMddHHmm')
            outputFileName = "${project.publishName}_${variant.versionName}_${variant.versionCode}_${buildTime}_${variant.buildType.name}.apk"
        }
    }
    

指令abiFilters

defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "com.example.flutter_app_demolab"
        // You can update the following values to match your application needs.
        // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
        minSdkVersion 21
        targetSdkVersion flutter.targetSdkVersion
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName

        ndk {
            abiFilters "armeabi-v7a", "arm64-v8a"
        }
    }
    

最后通過指令

flutter build apk lib/main.dart --release
    

打包處理的apk在build/app/outputs目錄下
flutter開發(fā)實(shí)戰(zhàn)-build apk名稱及指令abiFilters常用gradle設(shè)置,flutter開發(fā)實(shí)戰(zhàn),移動開發(fā),flutter,flutter,1024程序員節(jié)
這里的版本name及版本code是需要在pubspec.yaml設(shè)置

# In Windows, build-name is used as the major, minor, and patch parts
# of the product and file versions while build-number is used as the build suffix.
version: 1.0.0+1

environment:
  sdk: '>=2.19.6 <3.0.0'
    

二、完整的android/build.gradle

在工程的android/build.gradle完整設(shè)置如下

buildscript {
    ext.kotlin_version = '1.7.10'
    repositories {
        maven { url "https://maven.aliyun.com/repository/google" }
        maven { url "https://maven.aliyun.com/repository/central" }
        maven { url "https://maven.aliyun.com/repository/jcenter" }
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:7.2.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    repositories {
        maven { url "https://maven.aliyun.com/repository/google" }
        maven { url "https://maven.aliyun.com/repository/central" }
        maven { url "https://maven.aliyun.com/repository/jcenter" }
    }
}

rootProject.buildDir = '../build'
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
    project.evaluationDependsOn(':app')
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

    

在工程的gradle.properties,如果工程用到了AndroidX,需要設(shè)置android.useAndroidX=true

org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
    

三、android/app/build.gradle設(shè)置

在工程的android/app/build.gradle設(shè)置如下

def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
    localPropertiesFile.withReader('UTF-8') { reader ->
        localProperties.load(reader)
    }
}

def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
    throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}

def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
    flutterVersionCode = '1'
}

def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
    flutterVersionName = '1.0'
}

ext {
    publishName = 'AppDemoLab'
}

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
    compileSdkVersion 34
    ndkVersion flutter.ndkVersion

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "com.example.flutter_app_demolab"
        // You can update the following values to match your application needs.
        // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
        minSdkVersion 21
        targetSdkVersion flutter.targetSdkVersion
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName

        ndk {
            abiFilters "armeabi-v7a", "arm64-v8a"
        }
    }

    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig signingConfigs.debug
        }
    }

    android.applicationVariants.all {variant ->
        variant.outputs.all {
            def buildTime = new Date().format('yyyyMMddHHmm')
            outputFileName = "${project.publishName}_${variant.versionName}_${variant.versionCode}_${buildTime}_${variant.buildType.name}.apk"
        }
    }
}

flutter {
    source '../..'
}
    

四、小結(jié)

flutter開發(fā)實(shí)戰(zhàn)-build apk名稱及指令abiFilters常用gradle設(shè)置

學(xué)習(xí)記錄,每天不停進(jìn)步。文章來源地址http://www.zghlxwxcb.cn/news/detail-860473.html

到了這里,關(guān)于flutter開發(fā)實(shí)戰(zhàn)-build apk名稱及指令abiFilters常用gradle設(shè)置的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • flutter開發(fā)實(shí)戰(zhàn)-常用的路由Route配置

    flutter開發(fā)實(shí)戰(zhàn)-常用的路由Route配置 路由(Route)在移動開發(fā)中通常指頁面(Page),這跟 Web 開發(fā)中單頁應(yīng)用的 Route 概念意義是相同的,Route 在 Android中 通常指一個 Activity,在 iOS 中指一個 ViewController。所謂路由管理,就是管理頁面之間如何跳轉(zhuǎn),通常也可被稱為導(dǎo)航管理。

    2024年02月13日
    瀏覽(22)
  • 【Android】使用build.gradle.kt配置目標(biāo)架構(gòu)(abiFIlters)時報錯 Val cannot be reassigned

    傳統(tǒng)上我們會使用 groovy 語言的配置文件 build.gradle 來配置: 在app級別的build.gradle中的 android defaultConfig 添加子項(xiàng) 新版本的默認(rèn)使用 kotlin 語言的配置文件 build.gradle.kt 來配置gradle: 相應(yīng)地會想到使用下列代碼來指定abi: 此時進(jìn)行sync就會報錯: Val cannot be reassigned Type mismatch.

    2024年01月25日
    瀏覽(22)
  • Flutter 常用指令

    1.flutter create app_01 :創(chuàng)建一個新的Flutter項(xiàng)目 2.flutter run:運(yùn)行應(yīng)用程序 3.flutter run -d deviceId:運(yùn)行指定模擬器或者真機(jī) 4.flutter devices:查看計算機(jī)上的真機(jī)設(shè)備和IOS模擬器 5.flutter emulators:獲取模擬器設(shè)備列表? 6.flutter doctor:檢查flutter開發(fā)環(huán)境是否正確及提供修復(fù)建議 7.flu

    2024年02月08日
    瀏覽(14)
  • flutter實(shí)戰(zhàn)(01)windows桌面版 修改應(yīng)用logo、名稱、顯示位置、顯示大小

    說明:該系列文章主要為flutter在windows桌面平臺實(shí)戰(zhàn)中遇到的一些坑。 只需要在flutter項(xiàng)目/windows/runner/resources目錄下替換原來的應(yīng)用圖標(biāo) app_icon.ico即可。 修改flutter項(xiàng)目/windows/runner/main.cpp?文件,在函數(shù)wWinMain中修改,代碼如下: 說明:如果中文顯示亂碼,那么就使用notpad++編

    2024年01月25日
    瀏覽(122)
  • Git 實(shí)戰(zhàn)指南:常用指令精要手冊(持續(xù)更新)

    Git 實(shí)戰(zhàn)指南:常用指令精要手冊(持續(xù)更新)

    ??專欄內(nèi)容:Git ?個人主頁:子夜的星的主頁 ??座右銘:前路未遠(yuǎn),步履不停 Git 是一個開源的分布式版本控制系統(tǒng),可以有效、高速地處理從很小到非常大的項(xiàng)目版本管理。Git 是基于 Linux內(nèi)核開發(fā)的版本控制工具,與常用的版本控制工具不同,它采用了分布式版本庫的方

    2024年01月18日
    瀏覽(25)
  • ubuntu下常用開發(fā)指令

    ubuntu下常用開發(fā)指令

    用-l或者-lh都行,加個h會增加可讀性,如果想看具體某個文件,在后邊加上文件名即可

    2024年02月04日
    瀏覽(15)
  • flutter 開發(fā)之 Could not build the precompiled application for the device. Error (Xcode): No profiles f

    flutter 開發(fā)之 Could not build the precompiled application for the device. Error (Xcode): No profiles f

    問題:Could not build the precompiled application for the device. Error (Xcode): No profiles for ‘com.example.ql’ were found: Xcode couldn’t find any iOS App Development provisioning profiles matching ‘com.example.ql’. Automatic signing is disabled and unable to generate a profile. To enable automatic signing, pass -allowProvisioningUpdates to x

    2024年02月22日
    瀏覽(27)
  • flutter開發(fā)實(shí)戰(zhàn)-多語言flutter intl

    flutter開發(fā)實(shí)戰(zhàn)-多語言flutter intl

    flutter開發(fā)實(shí)戰(zhàn)-多語言flutter intl 之前做的應(yīng)用中有用到多語言,一直沒有整理,這里整理一下多語言設(shè)置流程。 使用的是Android studio 使用Android studio安裝flutter_intl 插件,更新或者安裝flutter_intl 插件后會提示重新啟動IDE。 如圖所示: 在Android Studio中菜單Tools找到flutter intl創(chuàng)建

    2024年02月13日
    瀏覽(25)
  • 給前端開發(fā)的一份 flutter 常用組件指南

    可以理解為 div 元素,可設(shè)置寬高等屬性 常用屬性如下: 屬性 類型 描述 width double 寬 height double 高 padding EdgeInsetsGeometry 內(nèi)邊距 margin EdgeInsetsGeometry 外邊距 color Color 背景色,注意不能跟 decoration.color 同時使用,會報錯 decoration Decoration 盒模型裝飾器 示例: 等價于以下的樣式

    2024年02月11日
    瀏覽(44)
  • flutter開發(fā)實(shí)戰(zhàn)-inappwebview實(shí)現(xiàn)flutter與Javascript方法調(diào)用

    flutter開發(fā)實(shí)戰(zhàn)-inappwebview實(shí)現(xiàn)flutter與Javascript方法調(diào)用

    flutter開發(fā)實(shí)戰(zhàn)-inappwebview實(shí)現(xiàn)flutter與Javascript方法調(diào)用 在使用inappwebview時候,需要flutter端與JS進(jìn)行交互,調(diào)用相應(yīng)的方法,在inappwebview中的JavaScript Handlers。 要添加JavaScript Handlers,可以使用InAppWebViewController.addJavaScriptHandler方法,在該方法中定義handlerName和JavaScript端調(diào)用它時要

    2024年02月03日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包