Create a gist now

Instantly share code, notes, and snippets.

@AlexDisler /Makefile
Last active Oct 15, 2017

What would you like to do?
.PHONY: run
# certs and output
OUTPUT_FILE=apkname.apk
ALIAS=youralias
KEYPASS=yourkeypass
KEYSTORE=certs/yourcert.keystore
UNSIGNED=platforms/android/build/outputs/apk/android-release-unsigned.apk
# or, if you're using Crosswalk:
# UNSIGNED=platforms/android/build/outputs/apk/android-armv7-release-unsigned.apk
PACKAGE='com.yourcompany.yourapp'
# create a signed apk
sign:
rm -f ${OUTPUT_FILE}
cordova build android --release
jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore ${KEYSTORE} -storepass ${KEYPASS} ${UNSIGNED} ${ALIAS}
zipalign -v 4 ${UNSIGNED} ${OUTPUT_FILE}
execute:
adb shell am start -n ${PACKAGE}/${PACKAGE}.MainActivity
# install a signed apk on a device
install:
adb install -r ${OUTPUT_FILE}
# monitor logs and filter by package name
log:
adb logcat | grep `adb shell ps | grep ${PACKAGE} | cut -c10-15`
run: sign install execute log

nice

clervius commented May 15, 2017

Hey, I keep getting an error with this..

  • Looked up everywhere and can't find how to fix. Even tried modifying the variables to the full directories of each file, both with forward and back slashes.
  • Moved files around and tried doing it again.
  • Nothing
    process_begin: CreateProcess(NULL, rm -f InAppPurchases.apk, ...) failed
    make (e=2): The system cannot find the file specified.
    make: *** [sign] Error 2

EDIT: Nevermind... it just doesn't work in CMD.. only works in Git Bash

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment