web-dev-qa-db-ja.com

Android:Android Studioで生成されたapkファイルの特定の名前を変更する方法?

デフォルトではIDE app-debug.apkapp-release.apkファイルのようなapkを生成しますが、アプリのApkの特定の名前を生成する必要があります。

例:私のアプリケーション名はiPlanterですので、それぞれiPlanter-debug.apkiPlanter-release.apkの代わりにapp-debug.apkまたはapp-release.apkを生成する必要があります。

おかげで、

13
kgsharathkumar

ステップ1:メインプロジェクトrootに移動します。appappを右クリックして、アプリを特定の名前にリファクタリングします(example iPlanter)およびOKを押します

ステップ2:setting.gradle fileのプロジェクト設定ファイルに移動

setting.gradleファイルには

include ':app'

ここで、特定の名前でアプリを置き換える必要があります。

include ':app'でiPlanterに置き換えるアプリの例は以下のようになります

include ':iPlanter'

次にプロジェクトを同期し、その後アプリケーションを実行します。最後に、アプリはiPlanter-debug.apkまたはiPlanter-release.apkファイルのようなapkを生成します。

10
kgsharathkumar

追加するだけ

   archivesBaseName = "NAME_YOU_WANT"

gradleファイルのAndroid {}部分にあります。

生成されたファイルの名前として「NAME_YOU_WANT-release.apk」を取得します。

7
Peter

これを現在の日付とバージョンのアプリ名に使用できます

Android {
def version = "2.4";
def milestone = "1";
def build = "0";
def name = getDate()+"APP NAME WHAT YOU WANT"+"v"+version


signingConfigs {
    config {
       ….
   }
}
compileSdkVersion Integer.parseInt(COMPILE_SDK)
buildToolsVersion BUILD_TOOLS_VERSION
defaultConfig {
   applicationId "com.PACKAGENAME"
   minSdkVersion Integer.parseInt(MIN_SDK_LIBRARY)
   targetSdkVersion Integer.parseInt(TARGET_SDK)
   versionCode 11
   versionName "2.3"
   multiDexEnabled true
}
buildTypes {
   debug {
       applicationVariants.all { variant ->
           variant.outputs.each { output ->
               def apk = output.outputFile;
               def newName;
               newName = apk.name.replace("-" + variant.buildType.name, "")
                       .replace(project.name, name);
               newName = newName.replace("-", "-" + version + "-" + milestone +
                       "-" + build + "-");
               output.outputFile = new File(apk.parentFile, newName);
           }
       }
   }
4
Anand Savjani

このコードを試してください:

defaultConfig{
      applicationVariants.all { variant ->
                changeAPKName(variant, defaultConfig)
            }
}

def changeAPKName(variant, defaultConfig) {
    variant.outputs.each { output ->
        if (output.zipAlign) {
            def file = output.outputFile
            output.packageApplication.outputFile = new File(file.parent, "Your APK NAME")
        }
        def file = output.packageApplication.outputFile
        output.packageApplication.outputFile = new File(file.parent, "Your APK NAME")
    }
}
1
Madhukar Hebbar

アプリレベルのgradleに次の1行のコードを追加するだけです。

  1. 名前のみ

archivesBaseName = "NAME_YOU_WANT"

 defaultConfig {

       applicationId "com.PACKAGENAME"

       minSdkVersion Integer.parseInt(MIN_SDK_LIBRARY)

       targetSdkVersion Integer.parseInt(TARGET_SDK)

       versionCode 11

       versionName "2.3"

       multiDexEnabled true

       archivesBaseName = "NAME_YOU_WANT"


    }
  1. バージョン付きの名前

archivesBaseName = "NAME_YOU_WANT" + versionName

defaultConfig {

   applicationId "com.PACKAGENAME"

   minSdkVersion Integer.parseInt(MIN_SDK_LIBRARY)

   targetSdkVersion Integer.parseInt(TARGET_SDK)

   versionCode 11

   versionName "2.3"

   multiDexEnabled true

   archivesBaseName = "NAME_YOU_WANT" + versionName
}
1
Deepak gupta

Android Studio 3.1の場合、これは私のために機能します:

Android {
     ...............
     ...............

     applicationVariants.all { variant ->
            changeAPKName(variant, defaultConfig)
        }

  compileOptions {
       sourceCompatibility JavaVersion.VERSION_1_8
       targetCompatibility JavaVersion.VERSION_1_8
       }

      .................................
      .................................
     }

そして

def changeAPKName(variant, defaultConfig) {
    variant.outputs.all { output ->
        outputFileName = new File("xxxxx" + variant.versionName +".apk")
    }
}
1
Basi

Android Studio 3の場合、これは私のために機能します:

applicationVariants.all { variant ->
        variant.outputs.all { output ->
            outputFileName = new File("AppName-" + variant.versionName + ".apk");
        }
}
1
Goke Obasa

私のPCでは、(リファクタリングにより)appを目的の名前yourNameに変更するだけで十分です。その後、setting.grandleファイルのinclude ':app'include ':yourName'に変更されます。ただし、私の場合、同期エラーのためAndroid Studioを閉じる/再オープンする必要があります。その結果、apkyourName-debug。 apkおよびyourName-release.apk

0
Spectorsky

これはあなたを助けます。このコードは、iPlanter-release.apkやiPlanter-debug.apkなどのアプリ名を作成します

buildTypes {
   applicationVariants.all { variant ->
    variant.outputs.each { output ->
        project.ext { appName = 'iPlanter' }
        def newName = output.outputFile.name
        newName = newName.replace("app-", "$project.ext.appName-")
        output.outputFile = new File(output.outputFile.parent, newName)
     }
  }

}

0
Upendra Shah