2016-04-26 6 views
3

の代わりに別の名前を取得するためにいくつか変更を加えました。アンドロイド - デバッグ.apkこれはビルド後に自動的に生成されます。しかし、私の変化はうまくいかないようです。ここに私のbuild.gradle私はアンドロイドプラットフォームを作成した後に生成されるファイルです。それがなぜ機能しないのかを確認して教えてください。私はアンドロイドスタジオ/日食ではないコマンドプロンプトでこれらすべてを実行しています。 apkの名前が変更されてコードワーカー

if (cdvReleaseSigningPropertiesFile) { 
     signingConfigs { 
      release { 
       // These must be set or Gradle will complain (even if they are overridden). 
       keyAlias = "" 
       keyPassword = "__unset" // And these must be set to non-empty in order to have the signing step added to the task graph. 
       storeFile = null 
       storePassword = "__unset" 
      } 
     } 


buildTypes { 
      release { 
       minifyEnabled false 
       proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
       signingConfig getSigningConfig() 
       applicationVariants.all { variant -> 
        variant.outputs.each { output -> 
         def date = new Date(); 
         def formattedDate = date.format('yyyyMMddHHmmss') 
         output.outputFile = new File(output.outputFile.parent, 
           output.outputFile.name.replace("-release", "-" + formattedDate) 
    //for Debug use output.outputFile = new File(output.outputFile.parent, 
    //        output.outputFile.name.replace("-debug", "-" + formattedDate) 
         ) 
        } 
       } 
      } 
     } 
     addSigningProps(cdvReleaseSigningPropertiesFile, signingConfigs.release) 
    } 
    if (cdvDebugSigningPropertiesFile) { 
     addSigningProps(cdvDebugSigningPropertiesFile, signingConfigs.debug) 
    } 
} 

は、私はそれがこのようなものだった buildTypeに変更を加えて前に。

buildTypes { 
      release { 
       signingConfig signingConfigs.release 
      } 
     } 

答えて

1

今日私は答えを思いついた。期待どおりにうまくいっているようです。

1)私は省略していたり​​build.gradleファイル

if (cdvReleaseSigningPropertiesFile) { 
     signingConfigs { 
      release { 
       // These must be set or Gradle will complain (even if they are overridden). 
       keyAlias = "" 
       keyPassword = "__unset" // And these must be set to non-empty in order to have the signing step added to the task graph. 
       storeFile = null 
       storePassword = "__unset" 
      } 
     } 
addSigningProps(cdvReleaseSigningPropertiesFile, signingConfigs.release) 

2)からにこの特定のセッションを削除します。私が作ったどのような変更は、ここでは、以下の共有しますbuildTypesで、のように変更したい場合は、メソッドをデバッグまたはリリースします。ここで私は両方に変更を加え、私が期待した答えを得ました。ここに私ののbuildTypesがあります。

buildTypes { 
      debug(or release){ 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     applicationVariants.all { variant -> 
      variant.outputs.each { output -> 
      project.ext { appName = 'YourName' } 
      def newName = output.outputFile.name.replace("android", "$project.ext.appName-") 

      output.outputFile = new File(output.outputFile.parent, newName) 
      } 
     } 

} 

    } 

これは、あなたがして次の行を交換する必要が完全に名前を変更するにはYOURNAME-debug.apkまたはYOURNAMEリリース-unsigned.apk

3)として出力が得られますもう一つの方。

project.ext {appNameは= 'YOURNAME'}
DEF NEWNAME = output.outputFile.name.replace( "$ project.ext.appName-"、 "アンドロイド")

に置き換えますDEF NEWNAME = output.outputFile.name.replace( "アンドロイド-リリース符号なし"、 "$ project.ext.appName - " + "あなたが望むものは何でも名前")デバッグ用または

DEF newnameの= output.outputFile.name.replace( "android-debug"、 "$ project.ext.appName - " + "wh全体の名前を変更することにより、私は経由して来た問題は文句を言わないのapkがは、以下のAPK(複数可)を内蔵ラインで/位置を生成されますされています:名あなたが望んでいた」)

NOTE-1 atever。この行は空白ですが、apkが生成され、ファイルの場所は同じです(プラットフォーム/ android/build/outputs/apk/YourName-whatevernameyouwanted.apk)。

NOTE-2:イムはこれらの低いものを構築するためにコマンド・プロンプトを使用。 build.gradleファイルを変更すると、保存するだけでコマンドプロンプトに反映されます。そのアンドロイドスタジオ/日食のようにbuild.gradleファイルを編集する場合resyncファイルをもう一度する必要があります。

関連する問題