Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
唐文
/
AiyoZhuaWaWa
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
b23235c2
authored
Dec 04, 2017
by
chengfengpiaopiao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
jenkins 加固保
parent
48271b90
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
134 additions
and
85 deletions
.idea/misc.xml
.idea/modules.xml
app/build.gradle
cmdlog.txt
gradle.properties
jiagubao-walle.bat
pythondemo.py
.idea/misc.xml
View file @
b23235c2
...
...
@@ -27,7 +27,7 @@
</value>
</option>
</component>
<component
name=
"ProjectRootManager"
version=
"2"
languageLevel=
"JDK_1_
7"
default=
"true"
assert-keyword=
"true"
jdk-15
=
"true"
project-jdk-name=
"1.8"
project-jdk-type=
"JavaSDK"
>
<component
name=
"ProjectRootManager"
version=
"2"
languageLevel=
"JDK_1_
8"
default
=
"true"
project-jdk-name=
"1.8"
project-jdk-type=
"JavaSDK"
>
<output
url=
"file://$PROJECT_DIR$/build/classes"
/>
</component>
<component
name=
"ProjectType"
>
...
...
.idea/modules.xml
View file @
b23235c2
...
...
@@ -2,7 +2,7 @@
<project
version=
"4"
>
<component
name=
"ProjectModuleManager"
>
<modules>
<module
fileurl=
"file://$PROJECT_DIR$/DuoBaoJingCai
2.iml"
filepath=
"$PROJECT_DIR$/DuoBaoJingCai2
.iml"
/>
<module
fileurl=
"file://$PROJECT_DIR$/DuoBaoJingCai
.iml"
filepath=
"$PROJECT_DIR$/DuoBaoJingCai
.iml"
/>
<module
fileurl=
"file://$PROJECT_DIR$/app/app.iml"
filepath=
"$PROJECT_DIR$/app/app.iml"
/>
<module
fileurl=
"file://$PROJECT_DIR$/multi-image-selector/multi-image-selector.iml"
filepath=
"$PROJECT_DIR$/multi-image-selector/multi-image-selector.iml"
/>
</modules>
...
...
app/build.gradle
View file @
b23235c2
...
...
@@ -27,6 +27,7 @@ def getDate() {
}
def
createFile
(
path
,
is_jenkins
){
println
(
path
)
File
file
=
new
File
(
path
);
if
(!
file
.
exists
()){
//判断是否待删除目录是否存在
File
fileParent
=
file
.
getParentFile
();
...
...
@@ -140,8 +141,6 @@ android {
}
}
dependencies
{
compile
fileTree
(
dir:
'libs'
,
include:
[
'*.jar'
])
androidTestCompile
(
'com.android.support.test.espresso:espresso-core:2.2.2'
,
{
...
...
@@ -176,12 +175,6 @@ task hello1 << {
println
'hello1'
+
"app.build.gradle"
}
//执行Shell命令 gradlew -q
task
execShell
(
type:
Exec
){
executable
'sh'
args
"-c"
,
"shell.sh $APP_VERSION $networkType"
}
task
startApp
(
type:
Exec
){
task
->
workingDir
'.'
...
...
@@ -198,50 +191,76 @@ task count << {
4
.
times
{
print
"$it "
}
}
//String cmd = 'explorer .'
//task hello2(){
// println "hello start"
// def cmdResult = cmd.execute().text.trim()
// println cmdResult
// println "hello end"
//}
//执行 gradlew assembleRelease shellTest
def
apkPath
=
"G:Apks/${projectName}"
+
"/"
+
"${projectNameLowerCase}_baseflavor_v${APP_VERSION}${suffixName[networkType]}.apk "
def
sdkRoot
=
"true"
.
equals
(
IN_COMPONENY
)?
"D:/2_android/as_client/sdk/build-tools/25.0.0"
:
"D:/Android/AndroidSDK/build-tools/25.0.0"
;
def
cmd
=
"jiagubao-walle.bat "
+
apkPath
+
"G:/Apks/DuoBaoJingCai/v2/${projectNameLowerCase}_v${APP_VERSION}${suffixName[networkType]}_v2.apk "
+
"G:/Apks/DuoBaoJingCai/walleBase/${projectNameLowerCase}_v${APP_VERSION}${suffixName[networkType]}.apk "
+
sdkRoot
// gradle版本为5.1
//task jiagubao-walle{
// doLast {
// String date = cmd.execute().text.trim().toString() //带返回值
// print date //打印系统日期
// }
//}
/**
* gradlew assembleRelease jiagubao_walle
* 一键实现多渠道打包
*/
def
BASE_LOCAL
=
"G:/Apks/"
def
BUILD_TOOLS
=
"/build-tools/25.0.0"
def
SDK_PATH_COMPONENY
=
"D:/2_android/as_client/sdk"
def
SDK_PATH_COMPONENY_BUILDTOOLS
=
SDK_PATH_COMPONENY
+
BUILD_TOOLS
def
SDK_PATH_HOME
=
"D:/Android/AndroidSDK"
def
SDK_PATH_HOME_BUILDTOOLS
=
SDK_PATH_HOME
+
BUILD_TOOLS
def
apkName
=
"${projectNameLowerCase}_baseflavor_v${APP_VERSION}${suffixName[networkType]}"
//基础包
def
apkBasePath
=
BASE_LOCAL
+
projectName
+
"/"
def
apkV2Name
=
"${projectNameLowerCase}_v${APP_VERSION}${suffixName[networkType]}_v2"
//v2包(已注销)
def
apkV2Path
=
BASE_LOCAL
+
projectName
+
"/"
+
"v2/"
def
apkWallleName
=
"${projectNameLowerCase}_v${APP_VERSION}${suffixName[networkType]}"
//walle基础包(已注销)
def
apkWallePath
=
BASE_LOCAL
+
projectName
+
"/"
+
"walleBase/"
def
walleChalles
=
BASE_LOCAL
+
projectName
+
"/"
+
"walleChalles"
//多渠道打包后的apks所在目录(已注销)
def
currentSdkBuildToolsPath
=
"true"
.
equals
(
IN_COMPONENY
)?
SDK_PATH_COMPONENY_BUILDTOOLS:
SDK_PATH_HOME_BUILDTOOLS
//当前SDK/build.tools路径
def
utilsPath
=
BASE_LOCAL
+
projectName
+
"/tools/"
//需要使用的工具
def
scriptName
=
"jiagubao-walle.bat"
//脚本名称
def
cmdParams
=
scriptName
+
" "
+
apkName
+
" "
+
apkBasePath
+
" "
+
apkV2Name
+
" "
+
apkV2Path
+
" "
+
apkWallleName
+
" "
+
apkWallePath
+
" "
+
currentSdkBuildToolsPath
+
" "
+
utilsPath
//gradlew assembleRelease jiagubao_walle
task
jiagubao_walle
(
dependsOn:
'cleanFile'
)
<<
{
String
date
=
cmd
.
execute
().
text
.
trim
().
toString
()
//带返回值
String
date
=
cmd
Params
.
execute
().
text
.
trim
().
toString
()
//带返回值
print
date
}
task
cleanFile
<<
{
println
(
"cleanFile"
)
createFile
(
"G:/Apks/DuoBaoJingCai/v2/"
,
true
);
createFile
(
"G:/Apks/DuoBaoJingCai/walleBase/"
,
true
);
createFile
(
"G:/Apks/DuoBaoJingCai/walleChalles"
,
true
);
createFile
(
apkV2Path
,
true
);
createFile
(
apkWallePath
,
true
);
createFile
(
walleChalles
,
true
);
}
//Python脚本
def
jenkinsJobName
=
"DuoBaoJingCai"
def
jenkinsBuild
=
"release"
task
uploadpython
(
type:
Exec
)
{
workingDir
'./'
commandLine
"python"
,
"pythondemo.py"
,
"
123"
,
"456
"
workingDir
'.
.
/'
commandLine
"python"
,
"pythondemo.py"
,
"
$jenkinsJobName"
,
"$jenkinsBuild
"
}
//CMD控制台
//String cmd2 = 'explorer .'
//task hello2(){
// println "hello start"
// def cmdResult = cmd2.execute().text.trim()
// println cmdResult
// println "hello end"
//}
//Shell脚本
/**
* explorer .
* sh shell.sh DuoBaoJingCai release
* F:\Tool\SSH\Git\Git\bin\sh.exe G:\Product\Android\DuoBaoJingCai\shell.sh DuoBaoJingCai release
*/
task
execShell
(
type:
Exec
){
executable
'sh'
args
"-c"
,
"../shell.sh $APP_VERSION $networkType"
}
cmdlog.txt
View file @
b23235c2
"Hello begaining..........."+jiagubao-walle.bat
param[0] = jiagubao-walle.bat
param[1] = G:Apks/DuoBaoJingCai/duobaojingcai_baseflavor_v2.0.0_release.apk
param[2] = G:/Apks/DuoBaoJingCai/v2/duobaojingcai_v2.0.0_release_v2.apk
param[3] = G:/Apks/DuoBaoJingCai/walleBase/duobaojingcai_v2.0.0_release.apk
param[4] = D:/2_android/as_client/sdk/build-tools/25.0.0
"SDK路径 " D:/2_android/as_client/sdk/build-tools/25.0.0
"当前releaseAPK路径 " G:Apks/DuoBaoJingCai/duobaojingcai_baseflavor_v2.0.0_release.apk
"apk使用v2签名后的apk路径 " G:/Apks/DuoBaoJingCai/v2/duobaojingcai_v2.0.0_release_v2.apk
"walle基础包路?" G:/Apks/DuoBaoJingCai/walleBase/duobaojingcai_v2.0.0_release.apk
param[0] = "插件名称: "jiagubao-walle.bat
param[1] = "apkName基础包名: " duobaojingcai_baseflavor_v2.0.0_release
param[2] = "apkBasePath基础包所在路? " G:\Apks\DuoBaoJingCai\
param[3] = "apkV2Name签名后的包名: " duobaojingcai_v2.0.0_release_v2
param[4] = "apkV2Path签名后的包所在路? " G:\Apks\DuoBaoJingCai\v2\
param[5] = "apkWallleName多渠道基础包名: " duobaojingcai_v2.0.0_release
param[6] = "apkWallePath多渠道打包输出位? " G:\Apks\DuoBaoJingCai\walleBase\
param[7] = "currentSdkBuildToolsPath当前环境下的build-tools所在路径和使用版本: " D:\Android\AndroidSDK\build-tools\25.0.0
param[8] = "utilsPath工具路径: " G:\Apks\DuoBaoJingCai\tools\
加固包工具路径: G:\Apks\DuoBaoJingCai\tools\jiagubao\jiagu
加固包输入路径:G:\Apks\DuoBaoJingCai\duobaojingcai_baseflavor_v2.0.0_release.apk
加固包输出路径:G:\Apks\DuoBaoJingCai\jiagubao
加固包输出apk路径以及名称?G:\Apks\DuoBaoJingCai\jiagubao\duobaojingcai_baseflavor_v2.0.0_release_200_jiagu.apk
加固包输出apk路径以及名称(改名)?G:\Apks\DuoBaoJingCai\jiagubao\duobaojingcai_baseflavor_v2.0.0_release.apk
gradle.properties
View file @
b23235c2
...
...
@@ -25,13 +25,13 @@ org.gradle.jvmargs=-XX:MaxPermSize=1024m
?
android.useDeprecatedNdk
=
true
#
˾ & ͥ
IN_COMPONENY
=
tru
e
#
\uFFFD\uFFFD\u02FE & \uFFFD\uFFFD\u0365
IN_COMPONENY
=
fals
e
#Project
PROJECT_NAME
=
DuoBaoJingCai
#jenkins
#jenkins
\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD
APP_VERSION
=
2.0.0
IS_JENKINS
=
false
...
...
jiagubao-walle.bat
View file @
b23235c2
...
...
@@ -3,36 +3,62 @@ rem 获取命令行参数
echo "Hello begaining..........."+%0 > cmdlog.txt
rem echo >> 追加到目录文件 echo > 清除之前写入的日志,并且重新写入
echo param[0] = %0 >> cmdlog.txt
echo param[1] = %1 >> cmdlog.txt
echo param[2] = %2 >> cmdlog.txt
echo param[3] = %3 >> cmdlog.txt
echo param[4] = %4 >> cmdlog.txt
rem variable变量
set apkPath= %1
set apkv2= %2
set walleBaseApk= %3
set sdkRoot= %4
echo "SDK路径 " %sdkRoot% >> cmdlog.txt
echo "当前releaseAPK路径 " %apkPath% >> cmdlog.txt
echo "apk使用v2签名后的apk路径 " %apkv2% >> cmdlog.txt
echo "walle基础包路径 " %walleBaseApk% >> cmdlog.txt
set apkName= %1
set "apkName=%apkName:/=\%"
set apkBasePath= %2
set "apkBasePath=%apkBasePath:/=\%"
set apkV2Name= %3
set "apkV2Name=%apkV2Name:/=\%"
set apkV2Path= %4
set "apkV2Path=%apkV2Path:/=\%"
set apkWallleName= %5
set "apkWallleName=%apkWallleName:/=\%"
set apkWallePath= %6
set "apkWallePath=%apkWallePath:/=\%"
set currentSdkBuildToolsPath= %7
set "currentSdkBuildToolsPath=%currentSdkBuildToolsPath:/=\%"
set utilsPath= %8
set "utilsPath=%utilsPath:/=\%"
rem set step1= cd /d %sdkRoot%
rem set step2= && echo '进入sdk路径...%sdkRoot%' >> cmdlog.txt
rem set step3= && zipalign -c -v 4 %apkPath%
rem set step4= && echo release基础包zipaligin对齐校验检测... >> cmdlog.txt
rem set step5= && zipalign -v 4 %apkPath% %apkv2%
rem set step6= && echo 'release基础包zipaligin对齐校验成功...' >> cmdlog.txt
rem set step7= "apksigner sign --ks G:\Apks\DuoBaoJingCai\tools\duobaojingcai.jks %apkv2% && "
rem set step8="echo 'v2包签名成功生成walle基础包' >> cmdlog.txt"
echo param[0] = "插件名称: "%0 >> cmdlog.txt
echo param[1] = "apkName基础包名: "%apkName% >> cmdlog.txt
echo param[2] = "apkBasePath基础包所在路径: "%apkBasePath% >> cmdlog.txt
echo param[3] = "apkV2Name签名后的包名: "%apkV2Name% >> cmdlog.txt
echo param[4] = "apkV2Path签名后的包所在路径: "%apkV2Path% >> cmdlog.txt
echo param[5] = "apkWallleName多渠道基础包名: "%apkWallleName% >> cmdlog.txt
echo param[6] = "apkWallePath多渠道打包输出位置: "%apkWallePath% >> cmdlog.txt
echo param[7] = "currentSdkBuildToolsPath当前环境下的build-tools所在路径和使用版本: "%currentSdkBuildToolsPath% >> cmdlog.txt
echo param[8] = "utilsPath工具路径: "%utilsPath% >> cmdlog.txt
rem start cmd if exist "G:\Apks\DuoBaoJingCai\v2\duobaojingcai_v2.0.0_release_v2.apk" ( "rd /s /Q G:\Apks\DuoBaoJingCai\v2\duobaojingcai_v2.0.0_release_v2.apk" ) else (echo err)
rem start cmd if exist "G:\Apks\DuoBaoJingCai\walleBase\duobaojingcai_v2.0.0_release.apk" ( "rd /s /Q G:\Apks\DuoBaoJingCai\walleBase\duobaojingcai_v2.0.0_release.apk") else (echo err)
set jiaGuBaoToolPath=%utilsPath%jiagubao\jiagu
set "jiaGuBaoInputPath=%apkBasePath%%apkName%.apk"
set "jiaGuBaoInputPath=%jiaGuBaoInputPath: =%"
set "jiaGuBaoOutputPath=%apkBasePath%jiagubao"
set "jiaGuBaoOutputPath=%jiaGuBaoOutputPath: =%"
start cmd /k "cd /d %sdkRoot% && zipalign -c -v 4 %apkPath% && zipalign -v 4 %apkPath% %apkv2% && apksigner sign --ks G:\Apks\DuoBaoJingCai\tools\duobaojingcai.jks --ks-pass pass:yy10241905 %apkv2% && java -jar G:\Apks\DuoBaoJingCai\tools\CheckAndroidV2Signature.jar %apkv2% && copy G:\Apks\DuoBaoJingCai\v2\duobaojingcai_v2.0.0_release_v2.apk G:\Apks\DuoBaoJingCai\walleBase\ && move G:\Apks\DuoBaoJingCai\walleBase\duobaojingcai_v2.0.0_release_v2.apk G:\Apks\DuoBaoJingCai\walleBase\duobaojingcai_v2.0.0_release.apk && java -jar D:/walle-cli-all.jar batch -f G:\Apks\DuoBaoJingCai\tools\channel %walleBaseApk% G:\Apks\DuoBaoJingCai\walleChalles"
set apkSignBase=%apkBasePath%jiagubao\%apkName%_200_jiagu.apk
set "apkSignBase=%apkSignBase: =%"
set apkSignBaseApkOutputPath=%apkBasePath%jiagubao\%apkName%.apk
set "apkSignBaseApkOutputPath=%apkSignBaseApkOutputPath: =%"
echo 加固包工具路径:%jiaGuBaoToolPath% >> cmdlog.txt
echo 加固包输入路径:%jiaGuBaoInputPath% >> cmdlog.txt
echo 加固包输出路径:%jiaGuBaoOutputPath% >> cmdlog.txt
echo 加固包输出apk路径以及名称: %apkSignBase%>> cmdlog.txt
echo 加固包输出apk路径以及名称(改名): %apkSignBaseApkOutputPath% >> cmdlog.txt
set setp1= cd /d %jiaGuBaoToolPath%
set setp2= java -jar jiagu.jar -login 13574845807 869010486werwer
set step3= java -jar jiagu.jar -jiagu %jiaGuBaoInputPath% %jiaGuBaoOutputPath%
set step4= cd /d %currentSdkBuildToolsPath%
rem set step5= zipalign -c -v 4 %jiaGuBaoOutputPath%\duobaojingcai_baseflavor_v2.0.0_release_200_jiagu.apk
rem set step6= zipalign -v 4 %jiaGuBaoOutputPath%\duobaojingcai_baseflavor_v2.0.0_release_200_jiagu.apk %apkV2Path%
set step7= move %apkSignBase% %apkSignBaseApkOutputPath%
set step8= apksigner sign --ks %utilsPath%duobaojingcai.jks --ks-pass pass:yy10241905 %apkSignBaseApkOutputPath%
set step9= java -jar %utilsPath%CheckAndroidV2Signature.jar %apkSignBaseApkOutputPath%
set step10= java -jar %utilsPath%walle-cli-all.jar batch -f %utilsPath%channel %apkSignBaseApkOutputPath% %apkBasePath%walleChalles
set step11= explorer %apkBasePath%walleChalles
set step12= zipalign -c -v 4 %apkSignBaseApkOutputPath%
start cmd /k "%setp1% && %setp2% && %step3% && %step4% && %step7% && %step8% && %step9% && %step10% && %step11% && %step12%"
rem start cmd /k " zipalign -v 4 %apkPath% %apkv2% && apksigner sign --ks G:\Apks\DuoBaoJingCai\tools\duobaojingcai.jks --ks-pass pass:yy10241905 %apkv2% && java -jar G:\Apks\DuoBaoJingCai\tools\CheckAndroidV2Signature.jar %apkv2% && copy G:\Apks\DuoBaoJingCai\v2\duobaojingcai_v2.0.0_release_v2.apk G:\Apks\DuoBaoJingCai\walleBase\ && move G:\Apks\DuoBaoJingCai\walleBase\duobaojingcai_v2.0.0_release_v2.apk G:\Apks\DuoBaoJingCai\walleBase\duobaojingcai_v2.0.0_release.apk && java -jar D:/walle-cli-all.jar batch -f G:\Apks\DuoBaoJingCai\tools\channel %walleBaseApk% G:\Apks\DuoBaoJingCai\walleChalles"
pythondemo.py
View file @
b23235c2
...
...
@@ -3,5 +3,4 @@ import sys
jenkinsJobName
=
sys
.
argv
[
1
]
jenkinsBuild
=
sys
.
argv
[
2
]
print
jenkinsJobName
print
jenkinsBuild
\ No newline at end of file
print
(
"jenkinsJobName = "
+
jenkinsJobName
+
" jenkinsBuild = "
+
jenkinsBuild
)
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment