2016-04-26 14 views
3

我已經做了一些改變,以獲得不同的名稱而不是android-debug.apk這是構建後自動生成的。但是我所做的改變似乎不起作用。這是我創建android平臺後生成的build.gradle文件。請檢查並告訴我爲什麼它不工作。我在命令提示符下運行所有​​這些不在android studio/eclipse中。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( 「Android的版本 - 無符號」, 「$ project.ext.appName - 」 + 「你想要什麼名字」)調試

DEF了newName = output.outputFile.name.replace(「android-debug」,「$ project.ext.appName - 」+「wh atever名字你想要的「)

NOTE-1:通過改變全名,我都挺過來了問題不會得到的APK在該行內置下面APK(S)生成/地點:。這行將是空的,但您的apk將生成和文件位置相同,如我的(平臺/ android/build/outputs/apk/YourName-whatevernameyouwanted.apk)。

NOTE-2:使用命令提示林來構建這些東西。一旦對build.gradle文件進行了更改,您只需將其保存起來即可,該文件將反映在您的命令提示符中。它不像android studio/eclipse當你編輯build.gradle文件你必須resync再次。