Android Studio3.4はGradleを使用してapkをパッケージ化し、apkファイル名の名前を変更します

ビジュアルツールを使用してapkファイルを公式の署名付きでパッケージ化することに加えて、AndroidStudioはGradleビルドツールを使用してそれらをパッケージ化することもできます。

1.Gradleパッケージ構成

app \ build.gradleファイルにAndroidクロージャーを追加します。

signingConfigs {
        debug {
            storeFile file(KEY_PATH)//签名文件路径
            storePassword KEY_PASS
            keyAlias ALIAS_NAME
            keyPassword ALIAS_PASS  //签名密码
            v1SigningEnabled true
            v2SigningEnabled true
            println("--- signingConfigs.debug ---")
        }
        release {
            storeFile file(KEY_PATH)//签名文件路径
            storePassword KEY_PASS
            keyAlias ALIAS_NAME
            keyPassword ALIAS_PASS  //签名密码
            v1SigningEnabled true
            v2SigningEnabled true
            println("--- signingConfigs.release ---")
        }
    }

    buildTypes {
        release {
            minifyEnabled false
            multiDexEnabled true
            signingConfig signingConfigs.release
            //proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
        debug {
            minifyEnabled false
            multiDexEnabled true
            signingConfig signingConfigs.debug
            //proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

右側のツールバーで[Gradle]-> [プロジェクト名]->:app-> [Tasks]-> [other]をクリックし、[assembleRelease]をダブルクリックしてパッケージ化を開始します。(Gradleの下位バージョンのパスは次のとおりです:Gradle->プロジェクト名->:app->タスク->ビルド)

2.apkファイル名の名前を変更します

デフォルトで生成されるapkファイルは\ project name \ app \ build \ outputs \ apk \ releaseフォルダーにあり、名前はapp-release.apkです。デフォルトのapk名を変更するために、Androidクロージャーに追加できます。

    applicationVariants.all { variant ->
        variant.outputs.all { output ->
            //def outputFile = output.outputFile
            //if (outputFile != null && outputFile.name.endsWith('.apk')) {
            if (variant.buildType.name == 'release') {
                def fileName = "app_${defaultConfig.versionCode}_${defaultConfig.versionName}_.apk"
                outputFileName = fileName
            }
            //}
        }
    }

ハイバージョンは注意を払う必要があります

1.下位バージョンでは、2行目の各メソッドをallメソッドに変更し、下位バージョンの名前付けメソッドoutput.outputFile = new File(outputFile.parent、fileName)をoutputFileName = fileNameに変更する必要があります。 ;

2. output.outputFileメソッドを削除する必要があります。削除しないと、次のエラーが報告されます。output.outputFileの特定の実装では、variantOutput.getPackageApplication()を呼び出す必要があるためです。将来的にはライブラリアップグレードの互換性の問題が発生する可能性があるため、今のところこの呼び出しを回避できます。

WARNING: API 'variantOutput.getPackageApplication()' is obsolete and has been replaced with 'variant.getPackageApplicationProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variantOutput.getPackageApplication(), use -Pandroid.debug.obsoleteApi=true on the command line to display more information.
Affected Modules: app
 

おすすめ

転載: blog.csdn.net/beita08/article/details/95768251