2017-04-12 81 views

回答

0

是的,你可以。就这个示例脚本看看(Android的目标):

var gulp = require("gulp"), 
    cordova = require("cordova-lib").cordova; 
    gulp.task("default", function (callback) { 
     cordova.build({ 
      "platforms": ["android"], 
      "options": { 
       argv: ["--release","--gradleArg=--no-daemon"] 
      } 
     }, callback); 
    }); 

这是多平台版本(与taco team build):

var gulp = require("gulp"), 
    fs = require("fs"), 
    es = require('event-stream'), 
    cordovaBuild = require("taco-team-build"); 

// Setup platforms to build that are supported on current hardware 
var winPlatforms = ["android", "windows"], 
    linuxPlatforms = ["android"], 
    osxPlatforms = ["ios"], 
    platformsToBuild = process.platform === "darwin" ? osxPlatforms :     
         (process.platform === "linux" ? linuxPlatforms : winPlatforms), 

    // Build config to use for build - Use Pascal case to match paths set by VS 
    buildConfig = "Release", 

    // Arguments for build by platform. Warning: Omit the 
    // extra "--" when referencing platform specific options 
    // (Ex:"-- --gradleArg" is "--gradleArg"). 
    buildArgs = { 
     android: ["--" + buildConfig.toLocaleLowerCase(),"--device", 
        "--gradleArg=--no-daemon"],     
     ios: ["--" + buildConfig.toLocaleLowerCase(), "--device"],            
     windows: ["--" + buildConfig.toLocaleLowerCase(), "--device"]           
    },                    

    // Paths used by build 
    paths = { 
     apk:["./platforms/android/ant-build/*.apk", 
      "./platforms/android/bin/*.apk", 
      "./platforms/android/build/outputs/apk/*.apk"], 
     binApk: "./bin/Android/" + buildConfig, 
     ipa: ["./platforms/ios/build/device/*.ipa", 
      "./platforms/ios/build/device/*.app.dSYM"], 
     binIpa: "./bin/iOS/" + buildConfig, 
     appx: "./platforms/windows/AppPackages/**/*", 
     binAppx: "./bin/Windows/" + buildConfig 
    };             

// Set the default to the build task 
gulp.task("default", ["build"]); 

// Executes taks specified in winPlatforms, linuxPlatforms, or osxPlatforms based on 
// the hardware Gulp is running on which are then placed in platformsToBuild 
gulp.task("build", function() { 
    return cordovaBuild.buildProject(platformsToBuild, buildArgs) 
     .then(function() {  
      // ** NOTE: Package not required in recent versions of Cordova 
      return cordovaBuild.packageProject(platformsToBuild) 
       .then(function() {    
        return es.concat(
          gulp.src(paths.apk).pipe(gulp.dest(paths.binApk)), 
          gulp.src(paths.ipa).pipe(gulp.dest(paths.binIpa)), 
          gulp.src(paths.appx).pipe(gulp.dest(paths.binAppx)));    
       }); 
     }); 
}); 

或者你可以用这样的事情,如果你喜欢:gulp-cordova-build-android

相关问题