折腾:
【未解决】Mac中如何把一个script脚本放到LaunchPad启动台中支持点击图标启动
期间,参考:
去试试,把当前这个JadxGUI的shell script,制作成一个app程序。
以希望可以让app出现在LaunchPad中。
把制作app的脚本内容:
#!/usr/bin/env bash APPNAME=${2:-$(basename "${1}" '.sh')}; DIR="${APPNAME}.app/Contents/MacOS"; if [ -a "${APPNAME}.app" ]; then echo "${PWD}/${APPNAME}.app already exists :("; exit 1; fi; mkdir -p "${DIR}"; cp "${1}" "${DIR}/${APPNAME}"; chmod +x "${DIR}/${APPNAME}"; echo "${PWD}/$APPNAME.app";
保存为appify
再去加上权限,放到系统目录中:
➜ Downloads chmod +x appify ➜ Downloads ll appify -rwxr-xr-x@ 1 crifan staff 303B 4 3 14:20 appify ➜ Downloads cp appify /usr/local/bin
然后去制作自己的app
➜ bin ll total 56 -rwxr-xr-x@ 1 crifan staff 101B 4 3 13:55 JadxGUI ➜ bin which appify /usr/local/bin/appify ➜ bin appify JadxGUI "JadxGUI" /Users/crifan/dev/dev_tool/android/reverse_engineering/jadx/jadx-0.9.0/bin/JadxGUI.app ➜ bin ll total 56 -rwxr-xr-x@ 1 crifan staff 101B 4 3 13:55 JadxGUI drwxr-xr-x 3 crifan staff 96B 4 3 14:23 JadxGUI.app
![](https://www.crifan.com/files/pic/uploads/2021/03/3ebc3ab80b6d4eef9732ed81c4410d73.jpg)
显示包内容
![](https://www.crifan.com/files/pic/uploads/2021/03/325e98f1e5d64bbaa085fbc233051514.jpg)
![](https://www.crifan.com/files/pic/uploads/2021/03/217cf78d8f01436089a42885678de247.jpg)
然后再去添加图标
先去弄个图标(或者从别的app中拷贝Command+C出来一个)
jadx icon
![](https://www.crifan.com/files/pic/uploads/2021/03/db3743372549423781fa41d5b4c0996c.jpg)
感觉这个更好:
![](https://www.crifan.com/files/pic/uploads/2021/03/82d52e4c2eaa4044a60deb6f0005b7bf.png)
以及另外一个logo:
![](https://www.crifan.com/files/pic/uploads/2021/03/950c9a1bcbcc401e9af2bb75999618ab.png)
右键,显示简介
![](https://www.crifan.com/files/pic/uploads/2021/03/56d199b61cea43c49eccb6017305e8ed.jpg)
然后选中左上角的图标:
![](https://www.crifan.com/files/pic/uploads/2021/03/632bcfd725d94afe854daad56d16fd57.jpg)
然后去Command+V粘贴
即可粘贴出logo图标:
![](https://www.crifan.com/files/pic/uploads/2021/03/31336140d02a41d6a163332e2a958809.jpg)
然后再去把这个JadxGUI放到 应用程序 中:
![](https://www.crifan.com/files/pic/uploads/2021/03/16dd5957bef148d393101aacfc48d8c4.jpg)
看看LaunchPad中是否自动出现:
结果没有
双击启动 结果虽然能启动,但是无法正常运行
然后回去再看最开始的:
JadxGUI.app
![](https://www.crifan.com/files/pic/uploads/2021/03/a544b1c405d842e897353c7d68abe32f.jpg)
去双击运行,也是:
虽然可以运行,但是实际上无法正常工作
![](https://www.crifan.com/files/pic/uploads/2021/03/f8d4502d47954f81948f3aaff267e6db.jpg)
代码不显示。
而JadxGUI命令行本身是能正常运行的:
![](https://www.crifan.com/files/pic/uploads/2021/03/e84edff2dcc04879858e1b5231b9f0ba.jpg)
都删除掉,重新制作一遍,且验证最开始制作出的app是否work
➜ bin rm -rf JadxGUI.app ➜ bin ll total 56 -rwxr-xr-x@ 1 crifan staff 101B 4 3 13:55 JadxGUI.sh ➜ bin appify JadxGUI.sh "JadxGUI" /Users/crifan/dev/dev_tool/android/reverse_engineering/jadx/jadx-0.9.0/bin/JadxGUI.app ➜ bin ll total 56 drwxr-xr-x 3 crifan staff 96B 4 3 14:42 JadxGUI.app -rwxr-xr-x@ 1 crifan staff 101B 4 3 13:55 JadxGUI.sh
经过尝试发现:
需要把原先的shell脚本中的最后的参数”$@”去掉(同时后缀改成了.sh,貌似这点没影响):
➜ bin cat JadxGUI.sh #!/bin/bash /Users/crifan/dev/dev_tool/android/reverse_engineering/jadx/jadx-0.9.0/bin/jadx-gui
再去制作出app:
➜ bin appify JadxGUI.sh "JadxGUI" /Users/crifan/dev/dev_tool/android/reverse_engineering/jadx/jadx-0.9.0/bin/JadxGUI.app ➜ bin ll total 56 drwxr-xr-x 3 crifan staff 96B 4 3 14:44 JadxGUI.app -rwxr-xr-x@ 1 crifan staff 96B 4 3 14:43 JadxGUI.sh
然后运行app:
JadxGUI.app
就可以正常工作了:
![](https://www.crifan.com/files/pic/uploads/2021/03/1da74da0a2164d5b9b6f997cd181bdea.jpg)
-》此处,再去替换logo图标:
![](https://www.crifan.com/files/pic/uploads/2021/03/7f86ea417a43496483bad45b0f864fb8.jpg)
再去拷贝到应用程序中:
![](https://www.crifan.com/files/pic/uploads/2021/03/9772b860ac144fdd964f05e5cdd1c4e1.jpg)
双击运行
也是可以正常运行的了:
![](https://www.crifan.com/files/pic/uploads/2021/03/38fc110d17ce4e6882239a64acc396fe.jpg)
【总结】
此处,是可以通过:
/Users/crifan/Downloads/appify
#!/usr/bin/env bash APPNAME=${2:-$(basename "${1}" '.sh')}; DIR="${APPNAME}.app/Contents/MacOS"; if [ -a "${APPNAME}.app" ]; then echo "${PWD}/${APPNAME}.app already exists :("; exit 1; fi; mkdir -p "${DIR}"; cp "${1}" "${DIR}/${APPNAME}"; chmod +x "${DIR}/${APPNAME}"; echo "${PWD}/$APPNAME.app";
保存为appify,然后拷贝到系统目录:
➜ Downloads cp appify /usr/local/bin
然后,先确保自己要被制作成的shell脚本是正常的。
此处,不能是之前加了参数的:
➜ bin cat JadxGUI #!/bin/bash /Users/crifan/dev/dev_tool/android/reverse_engineering/jadx/jadx-0.9.0/bin/jadx-gui "$@"
而是(同时改了后缀为.sh):
➜ bin cat JadxGUI.sh #!/bin/bash /Users/crifan/dev/dev_tool/android/reverse_engineering/jadx/jadx-0.9.0/bin/jadx-gui
然后再去制作app:
➜ bin appify JadxGUI.sh "JadxGUI" /Users/crifan/dev/dev_tool/android/reverse_engineering/jadx/jadx-0.9.0/bin/JadxGUI.app ➜ bin ll total 56 drwxr-xr-x 3 crifan staff 96B 4 3 14:44 JadxGUI.app -rwxr-xr-x@ 1 crifan staff 96B 4 3 14:43 JadxGUI.sh
双击app,确保能正常运行,实现你要的功能。
然后【可选】再去添加图标:
先找个图标/图片-》Command+C拷贝到Mac的系统剪贴板中-》右键此处的app:JadxGUI.app -》显示简介-》点击左上角图标-》Command+V粘贴
即可添加图标。
然后把(带了图标的)app,拷贝放到 应用程序中-》以后即可去应用程序中,双击该app,启动功能了。