我正在尝试创建一个可以从一个设备复制到另一个设备的便携式环境(USB闪存/磁盘) - 并且专门在Mac / OSX(10.10.x环境)上“开箱即用”工作。我的目的是,我下学期正在教一个“便携式编程”课程,我希望能够只是复制(或给学生一个.zip文件),让它们在特定命名的卷上展开,以及环境有效。这包括SDK版本,AVD等。我已经看到一切显然有效(到目前为止),但是AVD有问题。
这是一个新的安装,使用最新的Eclipse等。
我希望在XML / INI文件中找到这些目录等,并使用编辑器或sed来更改字符串,但似乎无法找到我需要更改的任何内容的目录名称到目前为止,在解压缩的Android目录中的XML / INI文件中 - 但是看不到它们。
我确实在Preferences-> Android-> Build“默认调试密钥库”中看到引用〜。/ android的引用,但它不可编辑。在同一对话框页面上有一个“自定义”调试密钥库设置,但更改它似乎不会对AVD及其位置产生影响。到目前为止,这是我在主目录中找到的唯一参考。我在eclipse.org查看了Eclipse CLI,但似乎没有看到与此问题相关的任何内容(至少没有任何与我敲响的内容)。
那么 - 如何为Eclipse / Android更改我的默认“主页”目录(没有哄抬环境等),因此可以安装我的AVD(以及我尚未遇到的任何其他内容),使用/从USB驱动器/棒运行?
请 - 我不想要链接到其他“便携式”软件包,因为我不确定它们实际上被改变了什么(并且可能不是最新的,并且无论如何更新可能会使所有软件包装起来),并且不要想把任何东西传给学生。我正在从官方地点下载官方软件包,并希望保持这种方式。所以我只是在官方安装的环境中寻找可以修复/编辑的东西,以获得我正在寻找的效果。谢谢!
答案 0 :(得分:0)
在Launch mac eclipse with environment variables set
找到了这个当用户使用设置环境的shell包装器启动Eclipse应用程序时,有一个替代解决方案涉及替换MacOS X运行的可执行文件。
在Eclipse应用程序包目录/Applications/eclipse/Eclipse.app/Contents/MacOS中创建一个名为“eclipse.sh”的空文本文件。
在文本编辑器中打开eclipse.sh,输入以下内容:
#!/bin/sh
export ENV_VAR1=value
export ENV_VAR2=value
logger "`dirname \"$0\"`/eclipse"
exec "`dirname \"$0\"`/eclipse" $@
在示例中,ENV_VAR1和ENV_VAR2是正在设置的环境变量。从Eclipse中启动的进程可以看到这些变量。 logger命令只是将eclipse可执行文件的路径记录到system.log中作为调试帮助。
在终端中设置shell脚本eclipse.sh的可执行标志,即:
chmod +x /Applications/eclipse/Eclipse.app/Contents/MacOS/eclipse.sh
打开Eclipse.app Info.plist并将密钥CFBundleExecutable的值从eclipse更改为eclipse.sh。
MacOS X不会自动检测到Eclipse.app的Info.plist已更改。因此,您需要使用lsregister命令强制更新终端中的LaunchService数据库:
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -v -f /Applications/eclipse/Eclipse.app
下次从Dock或Finder启动Eclipse.app时,应设置环境变量。
我花了一段时间研究,因为这些信息来自09年9月,回到Snow Leopard(OSX 10.6)日。我现在正在运行10.10,虽然有些事情没有改变 - 很多事情都发生了变化,因此研究上述方法需要一段时间,并确保它不会对安装造成一些潜在的损害。在这4个版本中,很多未完成的内容已经发生了变化,我不愿意随意使用它。我还没有找到对ANDROID_SDK_HOME究竟控制的确切解释 - 尽管上述方法似乎有效 - 到目前为止。