在Ionic开发中,如果需要修改gradle文件的话,需要修改的地方比较多;
添加Android平台: ionic cordova platform add android@7.x
;
需要修改的文件
./platforms/android/app/build.gradle
./platforms/android/build.gradle
./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'