Skip to content

打包遇到zipalign相关问题 #133

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
Mubai-meng opened this issue Nov 7, 2024 · 4 comments
Open

打包遇到zipalign相关问题 #133

Mubai-meng opened this issue Nov 7, 2024 · 4 comments

Comments

@Mubai-meng
Copy link

Mubai-meng commented Nov 7, 2024

打包环境:安卓15和termux

打包运行一段时间后出现如下错误

java.io.IOException: Cannot run program "/storage/emulated/0/Documents/Xpatch/2024-11-07-07-14-54-tmp/zipalign": error=13, Permission denied
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1143)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1073)
at java.base/java.lang.Runtime.exec(Runtime.java:594)
at java.base/java.lang.Runtime.exec(Runtime.java:418)
at com.storm.wind.xpatch.util.ShellCmdUtil.execCmd(ShellCmdUtil.java:28)
at com.storm.wind.xpatch.task.BuildAndSignApkTask.zipalignApk(BuildAndSignApkTask.java:194)
at com.storm.wind.xpatch.task.BuildAndSignApkTask.run(BuildAndSignApkTask.java:56)
at com.storm.wind.xpatch.MainCommand.doCommandLine(MainCommand.java:244)
at com.storm.wind.xpatch.base.BaseCommand.doMain(BaseCommand.java:125)
at com.storm.wind.xpatch.MainCommand.main(MainCommand.java:91)
Caused by: java.io.IOException: error=13, Permission denied
at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
at java.base/java.lang.ProcessImpl.(ProcessImpl.java:314)
at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:244)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1110)
... 9 more
zipalign apk time is :90s

根据错误是好像是读取权限的问题,但我已经确定给了termux的读取权限。
我主要是想确定这是termux的权限问题还是xpatch.jar包的问题
希望能得到开发者的帮助,十分感谢!

@Mubai-meng
Copy link
Author

我在termux中使用命令在这个目录中创建读取文件都是正常的,感觉跟权限没关系?不知道为何会有这个错误?

@Mubai-meng
Copy link
Author

PS C:\360极速浏览器X下载> java -jar xpatch.jar 网易云音乐.apk -xm 杜比大喇叭.apk -c -l
currentDir = C:\360极速浏览器X下载.
apkPath = 网易云音乐.apk
!!!!! output apk path --> 网易云音乐-xposed-signed.apk disableCrackSignature --> true
!!!!! outputApkFileParentPath = C:\360极速浏览器X下载
unzipApkFilePath = C:\360极速浏览器X下载\2024-11-08-09-37-16-tmp\网易云音乐-apk-unzip-files
decompress apk cost time: 2461
--- dexFileCount = 11
Get application name cost time: 32
Get the application name --> com.netease.cloudmusic.CloudMusicApplication
SaveOriginalApplicationNameTask cost time: 0
SoAndDexCopyTask cost time: 62
The running os is Windows 10
java.io.IOException: Cannot run program "chmod": CreateProcess error=2, 系统找不到指定的文件。
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1143)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1073)
at java.base/java.lang.Runtime.exec(Runtime.java:594)
at java.base/java.lang.Runtime.exec(Runtime.java:418)
at java.base/java.lang.Runtime.exec(Runtime.java:315)
at com.storm.wind.xpatch.util.ShellCmdUtil.chmod(ShellCmdUtil.java:80)
at com.storm.wind.xpatch.util.ShellCmdUtil.chmodNoException(ShellCmdUtil.java:62)
at com.storm.wind.xpatch.task.BuildAndSignApkTask.zipalignApk(BuildAndSignApkTask.java:183)
at com.storm.wind.xpatch.task.BuildAndSignApkTask.run(BuildAndSignApkTask.java:56)
at com.storm.wind.xpatch.MainCommand.doCommandLine(MainCommand.java:244)
at com.storm.wind.xpatch.base.BaseCommand.doMain(BaseCommand.java:125)
at com.storm.wind.xpatch.MainCommand.main(MainCommand.java:91)
Caused by: java.io.IOException: CreateProcess error=2, 系统找不到指定的文件。
at java.base/java.lang.ProcessImpl.create(Native Method)
at java.base/java.lang.ProcessImpl.(ProcessImpl.java:499)
at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:158)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1110)
... 11 more
chmod exception path --> C:\360极速浏览器X下载\2024-11-08-09-37-16-tmp\zipalign exception -->Cannot run program "chmod": CreateProcess error=2, 系统找不到指定的文件。

C:\360极速浏览器X下载\2024-11-08-09-37-16-tmp\zipalign -f -p 4 C:\360极速浏览器X下载\2024-11-08-09-37-16-tmp\unsigned.apk C:\360极速浏览器X下载\2024-11-08-09-37-16-tmp\unsigned_zipaligned.apk

zipalign apk time is :283s

result=
java.io.IOException: Cannot run program "chmod": CreateProcess error=2, 系统找不到指定的文件。
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1143)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1073)
at java.base/java.lang.Runtime.exec(Runtime.java:594)
at java.base/java.lang.Runtime.exec(Runtime.java:418)
at java.base/java.lang.Runtime.exec(Runtime.java:315)
at com.storm.wind.xpatch.util.ShellCmdUtil.chmod(ShellCmdUtil.java:80)
at com.storm.wind.xpatch.util.ShellCmdUtil.chmodNoException(ShellCmdUtil.java:62)
at com.storm.wind.xpatch.task.BuildAndSignApkTask.signApk(BuildAndSignApkTask.java:96)
at com.storm.wind.xpatch.task.BuildAndSignApkTask.run(BuildAndSignApkTask.java:67)
at com.storm.wind.xpatch.MainCommand.doCommandLine(MainCommand.java:244)
at com.storm.wind.xpatch.base.BaseCommand.doMain(BaseCommand.java:125)
at com.storm.wind.xpatch.MainCommand.main(MainCommand.java:91)
Caused by: java.io.IOException: CreateProcess error=2, 系统找不到指定的文件。
at java.base/java.lang.ProcessImpl.create(Native Method)
at java.base/java.lang.ProcessImpl.(ProcessImpl.java:499)
at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:158)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1110)
... 11 more
chmod exception path --> C:\360极速浏览器X下载\2024-11-08-09-37-16-tmp exception -->Cannot run program "chmod": CreateProcess error=2, 系统找不到指定的文件。
out put apk :网易云音乐-xposed-signed.apk
BuildAndSignApkTask cost time: 25017

使用windows打包也会出现错误

@mario6714
Copy link

PS C:\360极速浏览器X下载> java -jar xpatch.jar 网易云音乐.apk -xm 杜比大喇叭.apk -c -l currentDir = C:\360极速浏览器X下载. apkPath = 网易云音乐.apk !!!!! output apk path --> 网易云音乐-xposed-signed.apk disableCrackSignature --> true !!!!! outputApkFileParentPath = C:\360极速浏览器X下载 unzipApkFilePath = C:\360极速浏览器X下载\2024-11-08-09-37-16-tmp\网易云音乐-apk-unzip-files decompress apk cost time: 2461 --- dexFileCount = 11 Get application name cost time: 32 Get the application name --> com.netease.cloudmusic.CloudMusicApplication SaveOriginalApplicationNameTask cost time: 0 SoAndDexCopyTask cost time: 62 The running os is Windows 10 java.io.IOException: Cannot run program "chmod": CreateProcess error=2, 系统找不到指定的文件。 at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1143) at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1073) at java.base/java.lang.Runtime.exec(Runtime.java:594) at java.base/java.lang.Runtime.exec(Runtime.java:418) at java.base/java.lang.Runtime.exec(Runtime.java:315) at com.storm.wind.xpatch.util.ShellCmdUtil.chmod(ShellCmdUtil.java:80) at com.storm.wind.xpatch.util.ShellCmdUtil.chmodNoException(ShellCmdUtil.java:62) at com.storm.wind.xpatch.task.BuildAndSignApkTask.zipalignApk(BuildAndSignApkTask.java:183) at com.storm.wind.xpatch.task.BuildAndSignApkTask.run(BuildAndSignApkTask.java:56) at com.storm.wind.xpatch.MainCommand.doCommandLine(MainCommand.java:244) at com.storm.wind.xpatch.base.BaseCommand.doMain(BaseCommand.java:125) at com.storm.wind.xpatch.MainCommand.main(MainCommand.java:91) Caused by: java.io.IOException: CreateProcess error=2, 系统找不到指定的文件。 at java.base/java.lang.ProcessImpl.create(Native Method) at java.base/java.lang.ProcessImpl.(ProcessImpl.java:499) at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:158) at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1110) ... 11 more chmod exception path --> C:\360极速浏览器X下载\2024-11-08-09-37-16-tmp\zipalign exception -->Cannot run program "chmod": CreateProcess error=2, 系统找不到指定的文件。

C:\360极速浏览器X下载\2024-11-08-09-37-16-tmp\zipalign -f -p 4 C:\360极速浏览器X下载\2024-11-08-09-37-16-tmp\unsigned.apk C:\360极速浏览器X下载\2024-11-08-09-37-16-tmp\unsigned_zipaligned.apk

zipalign apk time is :283s

result= java.io.IOException: Cannot run program "chmod": CreateProcess error=2, 系统找不到指定的文件。 at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1143) at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1073) at java.base/java.lang.Runtime.exec(Runtime.java:594) at java.base/java.lang.Runtime.exec(Runtime.java:418) at java.base/java.lang.Runtime.exec(Runtime.java:315) at com.storm.wind.xpatch.util.ShellCmdUtil.chmod(ShellCmdUtil.java:80) at com.storm.wind.xpatch.util.ShellCmdUtil.chmodNoException(ShellCmdUtil.java:62) at com.storm.wind.xpatch.task.BuildAndSignApkTask.signApk(BuildAndSignApkTask.java:96) at com.storm.wind.xpatch.task.BuildAndSignApkTask.run(BuildAndSignApkTask.java:67) at com.storm.wind.xpatch.MainCommand.doCommandLine(MainCommand.java:244) at com.storm.wind.xpatch.base.BaseCommand.doMain(BaseCommand.java:125) at com.storm.wind.xpatch.MainCommand.main(MainCommand.java:91) Caused by: java.io.IOException: CreateProcess error=2, 系统找不到指定的文件。 at java.base/java.lang.ProcessImpl.create(Native Method) at java.base/java.lang.ProcessImpl.(ProcessImpl.java:499) at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:158) at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1110) ... 11 more chmod exception path --> C:\360极速浏览器X下载\2024-11-08-09-37-16-tmp exception -->Cannot run program "chmod": CreateProcess error=2, 系统找不到指定的文件。 out put apk :网易云音乐-xposed-signed.apk BuildAndSignApkTask cost time: 25017

使用windows打包也会出现错误

https://javaprotlib.sourceforge.net/packages/io/howtofixhadoop.html

@Mubai-meng
Copy link
Author

PS C:\360极速浏览器X下载> java -jar xpatch.jar 网易云音乐.apk -xm 杜比大喇叭.apk -c -l currentDir = C:\360极速浏览器X下载. apkPath = 网易云音乐.apk !!!!! output apk path --> 网易云音乐-xposed-signed.apk disableCrackSignature --> true !!!!! outputApkFileParentPath = C:\360极速浏览器X下载 unzipApkFilePath = C:\360极速浏览器X下载\2024-11-08-09-37-16-tmp\网易云音乐-apk-unzip-files decompress apk cost time: 2461 --- dexFileCount = 11 Get application name cost time: 32 Get the application name --> com.netease.cloudmusic.CloudMusicApplication SaveOriginalApplicationNameTask cost time: 0 SoAndDexCopyTask cost time: 62 The running os is Windows 10 java.io.IOException: Cannot run program "chmod": CreateProcess error=2, 系统找不到指定的文件。 at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1143) at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1073) at java.base/java.lang.Runtime.exec(Runtime.java:594) at java.base/java.lang.Runtime.exec(Runtime.java:418) at java.base/java.lang.Runtime.exec(Runtime.java:315) at com.storm.wind.xpatch.util.ShellCmdUtil.chmod(ShellCmdUtil.java:80) at com.storm.wind.xpatch.util.ShellCmdUtil.chmodNoException(ShellCmdUtil.java:62) at com.storm.wind.xpatch.task.BuildAndSignApkTask.zipalignApk(BuildAndSignApkTask.java:183) at com.storm.wind.xpatch.task.BuildAndSignApkTask.run(BuildAndSignApkTask.java:56) at com.storm.wind.xpatch.MainCommand.doCommandLine(MainCommand.java:244) at com.storm.wind.xpatch.base.BaseCommand.doMain(BaseCommand.java:125) at com.storm.wind.xpatch.MainCommand.main(MainCommand.java:91) Caused by: java.io.IOException: CreateProcess error=2, 系统找不到指定的文件。 at java.base/java.lang.ProcessImpl.create(Native Method) at java.base/java.lang.ProcessImpl.(ProcessImpl.java:499) at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:158) at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1110) ... 11 more chmod exception path --> C:\360极速浏览器X下载\2024-11-08-09-37-16-tmp\zipalign exception -->Cannot run program "chmod": CreateProcess error=2, 系统找不到指定的文件。

C:\360极速浏览器X下载\2024-11-08-09-37-16-tmp\zipalign -f -p 4 C:\360极速浏览器X下载\2024-11-08-09-37-16-tmp\unsigned.apk C:\360极速浏览器X下载\2024-11-08-09-37-16-tmp\unsigned_zipaligned.apk

zipalign apk time is :283s

result= java.io.IOException: Cannot run program "chmod": CreateProcess error=2, 系统找不到指定的文件。 at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1143) at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1073) at java.base/java.lang.Runtime.exec(Runtime.java:594) at java.base/java.lang.Runtime.exec(Runtime.java:418) at java.base/java.lang.Runtime.exec(Runtime.java:315) at com.storm.wind.xpatch.util.ShellCmdUtil.chmod(ShellCmdUtil.java:80) at com.storm.wind.xpatch.util.ShellCmdUtil.chmodNoException(ShellCmdUtil.java:62) at com.storm.wind.xpatch.task.BuildAndSignApkTask.signApk(BuildAndSignApkTask.java:96) at com.storm.wind.xpatch.task.BuildAndSignApkTask.run(BuildAndSignApkTask.java:67) at com.storm.wind.xpatch.MainCommand.doCommandLine(MainCommand.java:244) at com.storm.wind.xpatch.base.BaseCommand.doMain(BaseCommand.java:125) at com.storm.wind.xpatch.MainCommand.main(MainCommand.java:91) Caused by: java.io.IOException: CreateProcess error=2, 系统找不到指定的文件。 at java.base/java.lang.ProcessImpl.create(Native Method) at java.base/java.lang.ProcessImpl.(ProcessImpl.java:499) at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:158) at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1110) ... 11 more chmod exception path --> C:\360极速浏览器X下载\2024-11-08-09-37-16-tmp exception -->Cannot run program "chmod": CreateProcess error=2, 系统找不到指定的文件。 out put apk :网易云音乐-xposed-signed.apk BuildAndSignApkTask cost time: 25017

使用windows打包也会出现错误

https://javaprotlib.sourceforge.net/packages/io/howtofixhadoop.html

感谢老哥

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants