Ionic 修改android的gradle源为阿里云

718 阅读1分钟

在Ionic开发中,如果需要修改gradle文件的话,需要修改的地方比较多;
添加Android平台: ionic cordova platform add android@7.x;

需要修改的文件

  1. ./platforms/android/app/build.gradle
  2. ./platforms/android/build.gradle
  3. ./platforms/android/CordovaLib/build.gradle

需要添加的内容

maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' }
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' }

通过shell脚本进行修改(MacOS)

修改脚本1(MacOS)

#!/bin/bash
#clear;

### 需要修改的文件
#./platforms/android/app/build.gradle
#./platforms/android/build.gradle
#./platforms/android/CordovaLib/build.gradle

### sed修改文件例子
#sed -i 'na\x' file.txt -- 第n行前添加x内容(换行)

### 需要添加的内容
#maven { url'http://maven.aliyun.com/nexus/content/repositories/google' }
#maven { url'http://maven.aliyun.com/nexus/content/groups/public/' }
#maven { url'http://maven.aliyun.com/nexus/content/repositories/jcenter'}

# 文件名称 开始下标
function change(){
    file=$1
    startIndex=$2
    echo '修改gradle文件脚本:即将修改' $file $startIndex $[startIndex + 1] $[startIndex + 2]
    gsed -i  "${startIndex}a  maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' } // add@duweiquan" $file
    gsed -i  "$[startIndex + 1]a  maven {  url 'http://maven.aliyun.com/nexus/content/groups/public/' } // add@duweiquan" $file
    gsed -i  "$[startIndex + 2]a  maven  { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' } // add@duweiquan" $file
}
# 22 是repositories的行数
change './platforms/android/build.gradle' 22
change './platforms/android/build.gradle' $[37+3]
change './platforms/android/app/build.gradle' 23
change './platforms/android/app/build.gradle' $[38+3]
change './platforms/android/CordovaLib/build.gradle' 26

修改脚本2(MacOS)

#!/bin/bash
# clear;
# 定义方法:
# 文件名称 修改行数的数组
# cahnge_2 filename "${arr[*]}"
# change_2 './a.log' '22 37' 
function change_2(){
    file=$1
    lines=$2
    index=0
    for line in ${lines[@]}; 
    do
        echo '遍历的元素' $index $line;
        startIndex=$[index * 3 + line]
        index=`expr $index + 1`
        echo '修改gradle文件脚本:即将修改' $file $startIndex $[startIndex + 1] $[startIndex + 2]
        gsed -i  "${startIndex}a  maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' } // add@duweiquan" $file
        gsed -i  "$[startIndex + 1]a  maven {  url 'http://maven.aliyun.com/nexus/content/groups/public/' } // add@duweiquan" $file
        gsed -i  "$[startIndex + 2]a  maven  { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' } // add@duweiquan" $file
} 
# 执行修改
change_2 './platforms/android/build.gradle' '22 37'
change_2 './platforms/android/app/build.gradle' '23 38'
change_2 './platforms/android/CordovaLib/build.gradle' '22'