aapt不能使用绝对路径
问题描述:
我有一种奇怪的问题。在我的bash脚本或Makefile中,使用带有绝对路径的aapt不起作用,但是如果我处于本地目录中,aapt不能使用绝对路径
如果我这样做,这是行不通的:
aapt add $OUT/device.jar $OUT/classes.dex
该命令会运行和打印输出:
'/homes/rsevile/CS307/bin/Device/classes.dex'...
但是,试图装入罐子时,类我我试图加载最终没有找到。
下面做工作,但:
cd $OUT
aapt add device.jar classes.dex
印刷:
'classes.dex'...
这是整个代码被脚本执行(工作):
javac -d $(OUT)/classes -classpath ./layoutlib.jar src/com/device/client/*.java
jar cf $(OUT)/device.jar $(OUT)/classes $(OUT)/layoutlib
dx --dex --no-strict --output=$OUT/classes.dex $OUT/device.jar
cd $OUT
aapt add device.jar classes.dex
cd $ROOT
adb push $OUT/device.jar $ANDROID_OUT_DIR
我混淆了为什么我的课程在使用带有aapt的绝对路径时未能找到。
任何人都可以请向我解释为什么它不工作,我该如何解决它以使用适当的绝对路径请?
谢谢。
答
我意识到aapt实际上保持了绝对路径,没有办法绕过它。
我通过重新使用jar和使用允许指定目录的-C选项解决了该问题。