我根据官方Cocos2dx样本创建了一个项目。在脚本中,它尝试使用以下内容读取本地属性:
_LOCALPROPERTIES_FILE=$(dirname "$0")"/local.properties"
if [ -f "$_LOCALPROPERTIES_FILE" ]
then
[ -r "$_LOCALPROPERTIES_FILE" ] || die "Fatal Error: $_LOCALPROPERTIES_FILE exists but is unreadable"
# strip out entries with a "." because Bash cannot process variables with a "."
_PROPERTIES=`sed '/\./d' "$_LOCALPROPERTIES_FILE"`
for line in "$_PROPERTIES"; do
declare "$line";
echo "$line";
done
fi
然后尝试获取NDK_ROOT:
if [ -z "${NDK_ROOT+aaa}" ];then
echo "NDK_ROOT not defined. Please define NDK_ROOT in your environment or in local.properties"
exit 1
fi
如果我在local.properties中定义NDK根目录,如下所示:
NDK_ROOT = /用户/为myuser /文档/机器人-NDK-r9d
它无法识别该属性,但我确实看到此行在控制台中回显。为什么这个脚本无法将local.properties读入变量?这是脚本中的错误还是我如何定义我的属性?我怀疑脚本不正确。我知道我可以定义环境变量,但我真的想将这些变量保存在我的local.properties中,而不是混淆各种bash配置文件。
答案 0 :(得分:0)
local.properties 旨在由构建系统(ant或其他)读取,以传递构建不http://ant.apache.org/manual/properties.html) > shell环境。此外, local.properties 不应该被修改,因为它是由Android构建系统生成的。
您可能希望定义custom_rules.xml文件以实现您想要执行的操作。这个帖子Android custom build using Ant可能会有所帮助。