2016-05-18 8 views
0

こんにちは、イオンアンドロイドビルドのダウンロードのGradle毎回追加プラットフォーム

は、私は多くのIONICプロジェクトを持っているし、私の仕事は、プラットフォームを削除し、構築するために、これらのプロジェクトのためのAndroidプラットフォームを再度追加する必要があります。

現在、私が使用します。

  • IONICバージョン1.7.14
  • コルドババージョン5.4.1

(イオン/コルドバ同じバージョンの)古いのMacProでの作業はすべて、問題ソースコードを別のMacBookに移動してすべてのsdk(ionic/cordova)を再インストールしたときに発生します。プラットフォームを追加して実行すると、ionic build android - >毎回ダウンロードのgradleが必要です:

XXX-2:$イオンビルドアンドロイド実行コマンドVihatソース: /Users/macpro/Documents/Developer/TeraPublish/source/hooks/after_prepare/010_add_platform_class.js /ユーザ/のMacPro /ドキュメント/開発/ TeraPublish /ソースボディに追加 クラス:プラットフォームのAndroid ANDROID_HOME = /ユーザ/のMacPro /ライブラリ/アンドロイド/ SDK JAVA_HOME = /ライブラリ/ Javaの/ JavaVirtualMachines/jdk1.8.0_91.jdk /コンテンツ/ホーム

http://services.gradle.org/distributions/gradle-2.2.1-all.zipをダウンロード

私は多くの研究を行い、このガイドのような単一のプロジェクトで動作させることができます:ionic build android error when download gradle

しかし、私は新しいプロジェクトを作成するか、アンドロイドプラットフォームを再追加するたびに、まだダウンロードのgradleを要求します。 私は誰もが、私はこのケースを解決することができます、

答えて

0

多くのおかげで、私はとの問題を抱えていたコルドバ&私の昔のMacBookのようなイオン、何も作業:(

のバージョンをダウングレードしてみてください

010_chanを:のGradleのダウンロード、および私は私のフックを投稿私のロケールでのGradleのコピーを保持し、私の地元の

にgradlebuild.jsのパスを変更し、フックで固定しますge_build_gradle_path_to_local.js

#!/usr/bin/env node 

//Hook to change the path to the gradle to find the local one, because the proxy doesn't allow 
//to connect to an https server 

var fs = require('fs'); 
var path = require('path'); 

var rootdir = ".", 
    androidroot = rootdir + "/platforms/android"; 

function replace_string_in_file(filename, to_replace, replace_with) { 
    var data = fs.readFileSync(filename, 'utf8'); 

    if(data.indexOf(replace_with) > -1){ 
    console.log('File already contains required text. Nothing to do.'); 
    } else { 
    console.log(new RegExp(to_replace, "g")); 
    var result = data.replace(new RegExp(to_replace, "g"), replace_with); 
    fs.writeFileSync(filename, result, 'utf8'); 
    console.log('Changed Build Gradle Path to local successfully'); 
    } 
} 

if(fs.existsSync(androidroot)){ 
    var targetFile = androidroot + '/cordova/lib/builders/GradleBuilder.js'; 
    try{ 
    replace_string_in_file(targetFile, 'http\\\\\\\\://services.gradle.org/distributions/gradle-2.2.1-all.zip', '../../../../../../gradle-2.2.1-all.zip'); 
    } catch(e){ 
    console.log("File " + targetFile + " modified successfully"); 
    } 
} 

は、フックのbefore_buildフォルダにコピーし、プロジェクトフォルダの上gradle-2.2.1-all.zip二つのレベルを追加します(またはパスに一致するようにフックを修正します)。

関連する問題