Skip to content

Commit 3dee9a1

Browse files
committed
fixed zipalign name on windows
1 parent 06eba48 commit 3dee9a1

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

src/processing/mode/android/AndroidBuild.java

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,10 @@
3131
import processing.app.Sketch;
3232
import processing.app.SketchException;
3333
import processing.app.Util;
34+
import processing.app.exec.LineProcessor;
3435
import processing.app.exec.ProcessHelper;
3536
import processing.app.exec.ProcessResult;
37+
import processing.app.exec.StreamPump;
3638
import processing.core.PApplet;
3739
import processing.mode.java.JavaBuild;
3840
import processing.mode.java.preproc.SurfaceInfo;
@@ -787,9 +789,16 @@ private File signPackage(File projectFolder, String keyStorePassword) throws Exc
787789
private File zipalignPackage(File signedPackage, File projectFolder)
788790
throws IOException, InterruptedException {
789791

790-
File buildToolsFolder = new File(sdk.getSdkFolder(), "build-tools").listFiles()[0];
792+
File buildToolsFolder = new File(sdk.getSdkFolder(), "build-tools").listFiles()[0];
791793
String zipalignPath = buildToolsFolder.getAbsolutePath() + "/zipalign";
792-
794+
if (Platform.isWindows()) zipalignPath += ".exe";
795+
if (!new File(zipalignPath).exists()) {
796+
Messages.showWarning("Cannot find zipaling...",
797+
"The zipalign build tool needed to prepare the export pacakge is missing.\n" +
798+
"Make sure that your Android SDK was downloaded correctly.");
799+
return null;
800+
}
801+
793802
File alignedPackage = new File(projectFolder,
794803
module + "/build/outputs/apk/" + sketch.getName().toLowerCase() + "_release_signed_aligned.apk");
795804

@@ -800,6 +809,12 @@ private File zipalignPackage(File signedPackage, File projectFolder)
800809

801810
Process alignProcess = Runtime.getRuntime().exec(args);
802811
alignProcess.waitFor();
812+
StreamPump errie = new StreamPump(alignProcess.getErrorStream(), "zipalign err: ");
813+
errie.addTarget(new LineProcessor() {
814+
public void processLine(String line) {
815+
System.err.println(line);
816+
}
817+
});
803818

804819
if (alignedPackage.exists()) return alignedPackage;
805820
return null;

0 commit comments

Comments
 (0)