2016-11-25 13 views
0

jdk/bin 폴더에있는 apksigner 및 zipalign 도구를 사용하여 apk에 서명하려고합니다. 이미 경로 환경 변수를 설정했습니다. 이제 우분투에서 java 코드를 통해 apk에 서명하는 쉘 명령을 실행하고 싶습니다. 명령이다Java 프로그램을 통해 명령 프롬프트에서 다중 명령 읽기 및 쓰기

명령 1 :이 명령은 이름 성처럼, 런타임에 약간의 입력을 요구

keytool -genkey -v -keystore /Desktop/my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias app 

명령 2 :

./zipalign -v 4 inputAPK.apk outputAPK.apk 

명령 -3 :

apksigner sign --min-sdk-version 15 --ks my-release-key.jks outputAPK.apk 

명령 4 :

apksigner verify --min-sdk-version 15 outputAPK.apk

모두, 나는 우분투 환경에서 자바 코드를 통해 실행하려는 명령 4 위에 어떻게 그것을 달성 할 수 있는가?

+0

당신이 직면 한 문제는 무엇입니까? –

+0

실제로 나는 자바 프로그래밍에 익숙하지 않으므로 정확한 해결책을 모르고있다. 즉, 자바 프로그램을 통해 4 가지 이상의 명령을 실행할 수 있고 런타임에 어떻게 우분투의 명령 행에 입력을 보낼 수 있는가? –

+1

가능한 복제 [자바를 통해 cmd 실행 명령] (http://stackoverflow.com/questions/15464111/run-cmd-commands-through-java) –

답변

1

오 k. java.lang.Runtime.exec을 사용하여 간단한 코드를 실행할 수 있습니다.

https://www.mkyong.com/java/how-to-execute-shell-command-from-java/

http://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html#exec(java.lang.String)

http://alvinalexander.com/java/edu/pj/pj010016

는 또한 입력을 얻을 Process.getOutputStream() 방법을 사용할 수 있습니다 :이 사이트에서보세요. 입력 한 모든 데이터는 입력 스트림으로 전달됩니다.

+0

당신이 추천 한 링크로 시도했지만, .io.IOException : "zipalign -v 4 myInput.apk myOutput.apk"프로그램을 실행할 수 없습니다. 오류 = 2, 해당 파일이나 디렉토리가 없습니다. –

+0

이 경우 오류가 표시되거나 잘못된 위치를 가리키고 있습니다. 당신은 이것을해야합니다 - sudo apt-get update sudo apt-get install gcc-multilib lib32z1 lib32stdC++ 6' –

+0

zipalign 도구는 Android/sdk/build tools/24.0.3/zipalign에 있습니다. 환경 변수에 이미이 경로가 있지만 작동하지는 않습니다. –