Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Mac/OSX上创建便携式Android/Eclipse_Java_Android_Eclipse_Macos - Fatal编程技术网

Java 在Mac/OSX上创建便携式Android/Eclipse

Java 在Mac/OSX上创建便携式Android/Eclipse,java,android,eclipse,macos,Java,Android,Eclipse,Macos,我正在尝试创建一个可从一个设备复制到另一个设备的便携式环境(USB闪存/磁盘),并在Mac/OSX(10.10.x环境)上“开箱即用”。我这样做的目的是,下学期我将教授一门“便携式编程”课程,我希望能够复制(或给学生一个.zip文件),让他们在一个特定命名的卷上展开,这样环境就能正常工作。这包括SDK版本、AVD等。到目前为止,我的一切都正常工作,但AVD有问题 这是一个新安装,使用最新的Eclipse等 我希望在XML/INI文件中找到这些目录等,并使用编辑器或sed来更改字符串,但似乎无法在

我正在尝试创建一个可从一个设备复制到另一个设备的便携式环境(USB闪存/磁盘),并在Mac/OSX(10.10.x环境)上“开箱即用”。我这样做的目的是,下学期我将教授一门“便携式编程”课程,我希望能够复制(或给学生一个.zip文件),让他们在一个特定命名的卷上展开,这样环境就能正常工作。这包括SDK版本、AVD等。到目前为止,我的一切都正常工作,但AVD有问题

这是一个新安装,使用最新的Eclipse等

我希望在XML/INI文件中找到这些目录等,并使用编辑器或sed来更改字符串,但似乎无法在解压缩的Android目录中的XML/INI文件中找到任何需要更改的目录名,但看不到它们

我确实在Preferences->Android->Build“Default debug keystore”中看到一个引用~./Android-但它是不可编辑的。在同一对话框页面上有一个“自定义”调试密钥库设置,但更改它似乎不会对AVD及其位置产生影响。到目前为止,这是我找到的关于我的主目录的唯一参考。我在上查看了EclipseCLI,但似乎没有看到任何与此问题相关的内容(至少没有任何与我有关的内容)

那么-我如何更改Eclipse/Android的默认“home”目录(无需升级环境等),以便安装和使用我的AVD(以及我还没有遇到的任何其他内容)并从USB驱动器/U盘上运行

请-我不想要其他“便携”软件包的链接,因为我不确定这些软件包中到底有什么改动(可能不是最新的,而且更新很可能会把所有东西都更新掉),也不想把任何东西传递给学生。我正在从官方网站下载官方软件包,希望保持这种状态。因此,我只想在正式安装的环境中修复/编辑一些东西,以获得我想要的效果。谢谢

还有一种替代解决方案,它涉及到在用户启动Eclipse应用程序时,将MacOS X运行的可执行文件替换为设置环境的shell包装

在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并将键CbundleExecutable的值从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月,那是在雪豹(OSX10.6)时代。我现在运行的是10.10,虽然有些东西没有改变——很多东西都改变了,所以我花了一段时间来研究上述方法,确保它不会对安装造成一些潜在的损害。在这4个版本中,很多隐藏的东西都发生了变化,我不愿意就这样离开。到目前为止,我还没有找到一个很好的解释来解释ANDROID_SDK_HOME到底控制着什么——尽管上述方法似乎有效。

我想你已经看到了:那么,设置ANDROID_SDK_HOME的初始化环境脚本有什么不好的地方呢?我已经看到了几十个类似的项目——大多数都是3-5岁的。人们总是质疑这样的信息有多准确。哦,那个链接是专门针对Windows的,不是针对OSX的。而且我似乎找不到一个精确的定义来确切说明ANDROID_SDK__HOME到底影响了什么。经过更多的研究后,我在过去一两个小时内所做的是在()上找到的,这是关于更改Eclipse.app的第一个回复。再一次-大量的研究,早在09年,我们讨论了4个版本的OSX,我不知道Eclipse有多少版本。因此,需要一段时间来确保它仍然有效。