这是我第一次使用makefile来简化我的混合移动应用程序开发。所以,我有这个漂亮的makefile,拒绝在一些命令后运行。请检查一下。
.PHONY: run
OUTPUT_FILE=final.apk
ALIAS=mycert
KEYPASS=shittypass
KEYSTORE=certs/bang.keystore
UNSIGNED=platforms/android/build/outputs/apk/android-release-unsigned.apk
PACKAGE='com.example.testapp'
sign:
del -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:
adb install -r ${OUTPUT_FILE}
log:
adb logcat | grep `adb shell ps | grep ${PACKAGE} | cut -c10-15`
run: sign install execute log
“sign:”部分下的命令运行正常但是log:execute:和install:甚至没有显示在cmd中。 我正在使用Windows 7和GnuWin32 make程序。
答案 0 :(得分:1)
make总是尝试只在makefile中构建第一个目标,除非你在命令行中指定一个特定的目标;例如,你可以调用make sign install execute log
并运行它们。
当您输入run
时,您似乎希望make
目标成为默认目标;如果是这样,它必须是makefile中的第一个目标,而不是最后一个。
此外,您不应该像上面的示例中那样缩进log
和run
目标。它充其量是混乱而最糟糕的是错误。