
我正在使用Cordova Android 4.0.0,它使用gradle包装器来构建.我需要指定一个不同于mavenCentral的存储库.我不能简单地修改build.gradle文件,因为它是由Cordova自动生成的.因为它使用了Cordova指定的包装器分发,所以我无法在分发中添加/init.d.我已经尝试添加一个似乎没有被使用的USER_HOME / .gradle / init.gradle文件.在使用我无法控制的包装器时,是否还有其他方法可以指定init文件?
编辑:
作为现在的解决方法,我添加了一个after_prepare钩子,它将build.gradle文件中任何位置的文本“mavenCentral()”更改为我需要使用的repo.必须有一个更好的基于gradle的解决方案,但……
解决方法:
我们使用离子并拥有我们自己的nexus存储库,而不是mavenCentral.我们最终创建了一个钩子来解决这个open issue
通过添加一个钩子:
module.exports = function(ctx) { 'use strict'; var fs = ctx.requireCordovaModule('fs'), path = ctx.requireCordovaModule('path'), deferral = ctx.requireCordovaModule('q').defer(), replaceStream = require('replacestream'), async = require('async'); var platformRoot = path.join(ctx.opts.projectRoot, 'platforms/androID'); var gradlefiles = [path.join(platformRoot, 'build.gradle'), path.join(platformRoot, 'Cordovalib', 'build.gradle')]; async.each(gradlefiles, function(f, cb) { fs.readfile(f, 'utf8', function(err, data) { if (err) { cb(err); return; } var result = data.replace(/mavenCentral\(\)/g, 'maven{url "http://nexus.corp.aal.au/content/groups/public-ad"}'); fs.writefile(f, result, 'utf8', cb); }); }, function(err) { if (err) { deferral.reject(); } else { deferral.resolve(); } }); return deferral.promise;} 总结 以上是内存溢出为你收集整理的android – 使用Cordova gradle包装器时指定不同的存储库全部内容,希望文章能够帮你解决android – 使用Cordova gradle包装器时指定不同的存储库所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)