藏宝湾网游单机站

 找回密码
 注册

QQ登录

只需一步,快速开始

★【我是大主宰SF★神将三国SF】【变态页游】★

★【0.1折】★【变态网页游戏私服】★

★神将三国网页版上线送V5 5w元宝 5000w铜币 我是大主宰上线满v,80万元宝,小怪都爆元宝,耐玩长久稳定★

【原始传奇SF/魔域永恒SF】【0.1折手游】

★【原始传奇SF/魔域永恒SF】【0.1折手游】★

★『战online+原始传奇+维京传奇+血饮龙纹+魔域永恒+斗罗大陆』一刀99999999999刀刀光柱★

★承接推广★

★承接推广★

★承接推广★

★【卓越之剑】访官微变轻氪★
★【卓越之剑】访官微变轻氪★

★【卓越之剑】访官微变轻氪-欢迎技术交流★

★梦幻微变仿官长久更新★

★梦幻微变仿官长久更新★

★梦幻西游微变耐玩 ★五一活动★超级技能★超级兽决★打造成神★离线挂机★长期更新★★

★0.1折!独家超低折扣手游★

★0.1折!独家超低折扣手游★

★0.1折!0.1折!0.1折!独家超低折扣手游公益服,首冲续充全部0.1折★

★【九阴真经】端游私服仿官★

★【九阴真经】端游私服仿官★

★国产大型武侠端游《九阴真经》SF问世了。2017年至今-【稳定】充值1比10,活跃就送至尊风物志,跨服雪域应有尽有。★

★5.1全新开区梦幻放置游戏★

★5.1全新开区梦幻放置游戏★

★可白嫖 上班摸鱼类 放置文字梦幻游戏(三端互通)qq群836110944★

★DNF★全职业平衡★公益服★
★DNF★全职业平衡★公益服★

【dnf86版本】【怀旧服】【全职业平衡】【非变态服】【非商业服】【868027375】

★承接推广★

★承接推广★

★承接推广★

★【大话月卡服】不免费但不贵★

★【大话月卡服】不免费但不贵★

★【大话西游2★2024最新版】稳定耐玩★只合不关★人气超旺★

★上班族专属★休闲放置★充值可打★

★ ★上班族专属★休闲放置★充值可打★★

★[挂机游戏] ===〓正常运营3年〓新区来袭-白嫖神作-纯收菜挂机游戏-可交易 ========★

【梦幻西游】★端游领先版★
★【梦幻西游】★端游领先版★★

【梦幻西游★官方泄露版】----4月新区,无定制,无抽奖,全新战锦,每周更新一次。

★【梦幻国度】★端游★公益服★

★【梦幻国度】★端游★公益服★

★【梦幻国度】【端游】【全新版本公益服】【一样的童年不一样的游戏】【群63417379】★

★梦幻西游★仿官公益无充值★

★梦幻西游★仿官公益无充值★

★【情缘梦幻西游★独家仿官纯公益版】----2024新区,无定制,持续推广更新。推荐指数:★★★★★★★★★★★

【梦幻★仿官★刚开一秒·全网独家玩法】

★【梦幻★仿官★刚开一秒·全网独家玩法】★

★★【仿官服4月23日下午1点内测结束,正式开服】★★

★【手游端游一键全自动搭建脚本】★

★【手游端游一键全自动搭建脚本】★

★【手游端游一键全自动搭建脚本】搭建游戏解放双手小白用了都说好★

★【大话西游全新版本公益服】★

★【大话西游全新版本公益服】 ★

★本服版本4种族带天赋技能,新宠,官本,无属性神兵装备。仙器克任君玩耍。白嫖也可做大神★

★【梦幻西游】2008纯复古★

★【梦幻西游】2008纯复古★

★ 【五一新区】 【15门纯复古】 【公益服】【打金】★

★5月12全新开服放置传奇★

★5月12全新开服放置传奇★

★可白嫖 上班摸鱼类 放置文字传奇游戏(放置休闲)qq群756025698 ★

★微变梦幻西游 ☆万件装备版★

★微变梦幻西游 ☆万件装备版★

★★【梦幻西游】万件装备版☆可挂机☆PK也有奖励☆活动多多☆真实单开多倍爆率★★

★承接推广★

★承接推广★

★★承接推广★★

★【热血传奇&逍遥公益】(端游)★

★【热血传奇&逍遥公益】(端游)★

★2003热血传奇,还给您当年的满腔热血,留住您当年的情怀传奇!★

【百款GM页游+1折手游,上线送满级VIP】

★【百款GM页游+1折手游,上线送满级VIP】★

★【百款变态页游SF】【变态手游SF】【安卓+IOS手游】【上线免费顶级VIP】★

大话西游搬砖服,稳定耐玩★只合不关
★大话西游搬砖服,稳定耐玩★只合不关★

★【经典西游★2024最新版】稳定耐玩★只合不关 推荐指数:★★★★★★ 自动常规任务、地煞星、魔王窟、炼化★

★#08互通三经脉仿官梦幻#★

★#08互通三经脉仿官梦幻#★

★欢迎来到醉梦西游独家三经脉 三经脉流派、仿官复古、每月20日新区、只合不关! 新区人超多,晚一个月进服也跟得上,防官卡级不用慌! 一切皆可白嫖,真正实现长久服仿官零充可白嫖一切!★

★承接推广★

★承接推广★

★承接推广★

★★承接推广★★

★承接推广★

★承接推广★

查看: 1211|回复: 4

[辅助工具] 在 Linux 系统 编译APK 参考脚本

[复制链接]
 楼主| 发表于 2022-11-22 21:13:26 | 显示全部楼层 |阅读模式
本帖最后由 i85201314 于 2022-11-22 21:20 编辑

配合 Docker 镜像服务端使用效果更好


下载这个压缩包 https://cloud.189.cn/t/EZr6ZnFvARF3 (访问码:fo6m)

下载附件
#-------------------------------------------------------------------------------------------------------------------
在线一键使用

如果  apktool.jar Replacement.sh APK 都是在线下载
把附件解压出来 修改 MYapkTool.sh

找到 apk_name="xxx.apk"  xxx.apk换成你apk的名字 比如 123.apk
这个脚本 就可以这样用
yum install -y wget && wget http://xxx.xxx.xxx.xxx/MYapkTool.sh && bash MYapkTool.sh
#-------------------------------------------------------------------------------------------------------------------
本地使用
mkdir -p $HOME/apktool

解压MYapkTool2.2.2.zip把 apktool.jar Replacement.sh  APK 放到 $HOME/apktool
修改 MYapkTool.sh 找到 xiazai  注释掉 #xiazai
#-------------------------------------------------------------------------------------------------------------------
  1. #!/bin/bash
  2. # 闪烁之光 客户端 一键编译脚本
  3. # 尤其证书文件 自动化脚本写不来 所以建议手动创建
  4. # 123456是密码 创建证书密码 keytool -genkey -alias duke -keypass  123456
  5. # 创建证书文件 KeyFileName.keystore
  6. # 10000是证书文件过期时间 10000天
  7. # keytool -genkey -v -alias KeyName -keyalg RSA -keysize 2048 -validity 10000 -keystore KeyFileName.keystore
  8. #↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
  9. mkdir -p $HOME/apktool
  10. apktool_dir="$HOME/apktool"
  11. #安卓包的名称
  12. apk_name="xxx.apk"
  13. #-------------------
  14. # 判断Linux发行版
  15. #-------------------
  16. #cat /etc/os-release 第一显示的就是系统名称
  17. abcde_a="NAME="Linux Mint""
  18. abcde_b="NAME="CentOS Linux""
  19. #显示第一行
  20. osMY=`cat /etc/os-release | sed -n 1p`
  21. if [[ ! X${abcde_a} = X${osMY} ]];then
  22.    if [[ ! X${abcde_b} = X${osMY} ]];then
  23.       echo "ERR当前系统${osMY}不适合运行该脚本已经停止运行"
  24.       exit
  25.    else
  26.       echo "安装 openjdk8 expect"
  27.       yum -y install expect java-1.8.0-openjdk*
  28.       #------------------------------------------------
  29.       JVM_Folde_NAME_CentOS(){
  30.       #找出JVM的文件夹名称
  31.       rm -rf /tmp/JVM_Folder_1688_1688.txt
  32.       ls /usr/lib/jvm | sed 's/^ *//' | sed '/^[0-9]/d' | sed '/jre/d' > /tmp/JVM_Folder_1688_1688.txt
  33.       cat /tmp/JVM_Folder_1688_1688.txt | grep "openjdk-1.8"
  34.       }
  35.       #------------------------------------------------
  36.       export JAVA_HOME=/usr/lib/jvm/`JVM_Folde_NAME_CentOS`
  37.       export PATH=$JAVA_HOME/bin:$PATH
  38.       export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  39.       export JRE_HOME=$JAVA_HOME/jre
  40.    fi
  41. else
  42. echo "安装 openjdk8 apktool expect"
  43. sudo apt-get install apktool expect openjdk-8-* -y
  44.       #------------------------------------------------
  45.       JVM_Folde_NAME_Mint(){
  46.       #找出JVM的文件夹名称
  47.       rm -rf /tmp/JVM_Folder_1688_1688.txt
  48.       ls /usr/lib/jvm | sed 's/^ *//' | sed '/^[0-9]/d' | sed '/jre/d' > /tmp/JVM_Folder_1688_1688.txt
  49.       cat /tmp/JVM_Folder_1688_1688.txt | grep "java-8-openjdk-amd64"
  50.       }
  51.       #------------------------------------------------
  52. export JAVA_HOME=/usr/lib/jvm/`JVM_Folde_NAME_Mint`
  53. export PATH=$JAVA_HOME/bin:$PATH
  54. export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  55. export JRE_HOME=$JAVA_HOME/jre

  56. fi

  57. #-------------------
  58. # 远程下载
  59. #-------------------
  60. xiazai(){
  61. echo "正在下载 反编译软件 安卓签名密钥 安卓客户端,请稍后......"
  62. #把 apktool.jar xxx.apk Replacement.sh KeyFileName.keystore 放到这个路径 $HOME/apktool
  63. cd ${apktool_dir}
  64. wget http://192.168.1.10/apktool.jar
  65. wget http://192.168.1.10/${apk_name}
  66. wget http://192.168.1.10/KeyFileName.keystore
  67. wget http://192.168.1.10/Replacement.sh
  68. echo "已经结束下载!"
  69. chmod -R 755 ${apktool_dir}/Replacement.sh ${apktool_dir}/apktool.jar
  70. }
  71. xiazai
  72. sleep 1
  73. #-------------------
  74. # 编译安卓客户端
  75. #-------------------
  76. echo "正在编译安卓客户端请稍后......"
  77. mkdir -p ${apktool_dir}/tmp
  78. java -jar ${apktool_dir}/apktool.jar d -f "${apktool_dir}/${apk_name}" -o ${apktool_dir}/tmp
  79. echo "编译结束"
  80. sleep 1
  81. #-------------------
  82. # 修改反编译目录文件
  83. #-------------------
  84. xiugai_tmp(){
  85. echo "正在修改安卓文件......"
  86. #获取本机IP地址
  87. Host_IP=$(ip addr|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}')
  88. echo "${Host_IP}" > ${apktool_dir}/Host_IP.TXT
  89. IPIPIPIP=$(cat ${apktool_dir}/Host_IP.TXT | sed -n 1p)
  90. #你先看一下$HOME/apktool/tmp/assets/src/config.lua里的IP我这是 192.168.1.4
  91. config_DIR_1="${apktool_dir}/tmp/assets/src"
  92. cd ${apktool_dir} && ./Replacement.sh ${config_DIR_1} 192.168.1.4 ${IPIPIPIP%%/*}
  93. #由于 ${apktool_dir}/tmp/AndroidManifest.xml 这个配置文件参数有问题
  94. #在第二行的 <manifest>内的参数问题不能回编译成功 所以这个文件也要修改
  95. ReplacedCharacter='<manifest xmlns:android="http://schemas.android.com/apk/res/android"  android:installLocation="auto" package="com.sszg.bsxg" platformBuildVersionCode="23" platformBuildVersionName="6.0-2438415">'
  96. #需要替换字符的目标文件
  97. file_name="${apktool_dir}/tmp/AndroidManifest.xml"
  98. #需要查找的字符
  99. key_value="package="com.sszg.bsxg""

  100.      changeFile()
  101.      {
  102.          declare -i nline
  103.          getline()
  104.          {
  105.              #查找到特定字符的行
  106.              cat -n $file_name|grep "${key_value}"|awk '{print $1}'
  107.          }
  108.          getlinenum()
  109.          {
  110.              awk "BEGIN{a=`getline`;b="0";c=(a+b);print c}";
  111.          }
  112.          nline=`getlinenum`
  113.          sed -i "${nline}c $ReplacedCharacter$1" $file_name   
  114.      }
  115.    changeFile
  116. }
  117. xiugai_tmp
  118. sleep 1
  119. #-------------------
  120. # 打包反编译后的目录
  121. #-------------------
  122. echo "正在打包反编译目录为APK请稍后......"
  123. java -jar ${apktool_dir}/apktool.jar b "${apktool_dir}/tmp" -o ${apktool_dir}/NEW_${apk_name}
  124. echo -e "APK打包完成!\n${apktool_dir}/NEW_${apk_name}"
  125. sleep 1
  126. #-------------------
  127. # 签名 NEW_xxx.apk
  128. #-------------------
  129. #输出自动签名脚本
  130. expect_1='#!/usr/bin/expect'
  131. expect_3="set apktool_dir "${apktool_dir}/KeyFileName.keystore""
  132. expect_4="set passwd "123456""
  133. expect_5="#set timeout 20"
  134. expect_6="spawn jarsigner -verbose -keystore $apktool_dir/KeyFileName.keystore ${apktool_dir}/NEW_${apk_name} KeyName"
  135. expect_7="expect "输入密钥库的密码短语:""
  136. expect_8="send "\$passwd\\r""
  137. expect_9="interact"
  138. echo "${expect_1}" >> ${apktool_dir}/expect_B.sh
  139. echo "${expect_3}" >> ${apktool_dir}/expect_B.sh
  140. echo "${expect_4}" >> ${apktool_dir}/expect_B.sh
  141. echo "${expect_5}" >> ${apktool_dir}/expect_B.sh
  142. echo "${expect_6}" >> ${apktool_dir}/expect_B.sh
  143. echo "${expect_7}" >> ${apktool_dir}/expect_B.sh
  144. echo "${expect_8}" >> ${apktool_dir}/expect_B.sh
  145. echo "${expect_9}" >> ${apktool_dir}/expect_B.sh
  146. sleep 1
  147. chmod -R 755 ${apktool_dir}/expect_B.sh
  148. echo "正在签名APK......"
  149. cd ${apktool_dir} && ./expect_B.sh
  150. echo "签名结束"
  151. #-------------------
  152. echo -e "编译签名后的APK\n${apktool_dir}/NEW_${apk_name}"

  153. sleep 5
  154. exit 0
复制代码





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

评分

参与人数 2金币 +3 收起 理由
贄殿遮那 + 2 『恭喜你被我恭喜了』
蒋中军 + 1 『你们城里人真会玩』

查看全部评分

发表于 2022-11-23 00:08:25 | 显示全部楼层
感谢大佬分享
发表于 2022-11-23 12:46:39 | 显示全部楼层
厉害了   路过  学习学习  谢谢分享
发表于 2022-11-23 20:24:44 | 显示全部楼层
对于不懂编程的小白来说,看这些就像看天书一样~~但对于有点基础编程的人来说,是不错的启蒙素材哦。
发表于 2022-11-24 09:55:05 | 显示全部楼层
在 Linux 系统 编译APK 参考脚本
您需要登录后才可以回帖 登录 | 注册

本版积分规则

本站内容如若侵犯到您的权益,请来电来函告知,我们会尽快处理!
联系QQ:1953150286,2251387361,123784736,免责申明

排行榜|联系我们|小黑屋|手机版|Archiver|游戏藏宝湾 |

GMT+8, 2024-5-20 12:17 , Processed in 0.065776 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表