如何使安装三星Kies成为可能?

我不确定这个问题是否放在了正确的地方。如果不是,请指导我到正确的地方。
我有一部三星Galaxy SII手机,并且正在进行Android开发。
几天前,我使用的是Windows操作系统,但现在我使用的是Ubuntu。
在Windows中,我可以通过Samsung Kies将我的Android应用程序调试到Galaxy SII上,但在Ubuntu中我无法做到这一点。
那么在Ubuntu中有什么替代方法呢?我已经多次搜索过,但仍然没有找到支持Ubuntu的Kies。

如果你尝试使用VirtualBox,请小心刷任何更新或ROM,我把我的砖块了,不得不退回去换保修。考虑双启动专有硬件这样的情况。 - Tom Brossman
Oracle VM虚拟机与Tiny XP在TomTom和其他不兼容Linux或Wine的应用程序上运行良好。 - user49863
4个回答

嗯,如果我理解正确的话,你只是想在你的Android设备上调试你的应用程序。如果是这样的话,你实际上只需要安装Android SDK并设置ADB或"Android Debug Bridge"。这并不是非常困难,但可能需要一些工作来正确地使USB工作。你还需要进入设置>应用程序>调试>启用USB调试。如果使用Eclipse进行应用程序开发,有几个工具可以自动将测试版本的应用程序发送到你的手机。
要获得更详细的答案,请查看Android开发者网站:http://developer.android.com/guide/developing/device.html 此外,似乎在Linux上没有针对kies的解决方案。我对kies一无所知,但标准的Android应用程序开发方法应该完全适用,并且在开发者网站上有大量的文档可供参考。

是的,你说得对。我对如何开发安卓应用以及所需的一切都非常了解。但是我想在Ubuntu上运行Samsung Kies,因为只有Samsung Kies才能调试一些三星设备,比如Galaxy SII,以便调试安卓应用程序。希望你明白我的意思。 - Shreyash Mahajan
我猜你可以试着在Wine中运行Windows版本,但我不确定是否会成功。很可能需要一些调整才能使其正常工作。 - superlinkx
好的,我会尽力去做。 - Shreyash Mahajan

我有一台Galaxy手机(顺便说一句,非常好的手机),但遗憾的是,我必须确认你无法在Wine中运行Samsung Kies。如果你成功安装了Kies,你很可能无法与手机建立正常联系。我认为这是由于Wine中有限的USB支持所导致的。(这也是为什么TomTom Home无法在Wine中运行的原因 - 它可以完美安装,但无法与设备通信)

我尝试在VirtualBox中运行的Win XP虚拟机中使其工作,但失败了 - 虚拟XP安装总是会冻结,只能强制关闭。

在本机的(K)Ubuntu中拖放功能正常(但我想你已经知道),但据我的经验,Kies需要完整的Windows。

如果你成功在Ubuntu中运行它,我和无疑很多其他人都会非常想知道。


你可以在Ubuntu上运行Kies,我在我的上网本上使用了大约两个月后才换成Mint。它在Ubuntu上完美运行,但遗憾的是在Mint、Lubuntu或Xubuntu上无法运行。
你需要Wine来下载它。在最后会弹出一个错误信息,但它仍然能正常工作。

你在Linux上使用ADB和SDK不需要Kies或驱动程序。 首先,访问安卓开发者网站并安装SDK和Eclipse。我相信你已经在Windows上进行开发了,所以按照他们的说明来做应该没问题。
在Linux中,USB驱动程序可以在用户空间中,直接内置到程序中。编码人员使用libusb API来实现这一点。但是还有一点需要注意,它不能直接使用。
当将USB设备插入计算机时,服务udev用于调节“设备”的挂载方式和位置。由于您的手机在调试模式下对系统来说是未知的,它只会创建一个usb文件节点,libusb用于与其通信。在Linux中,一切都是文件。问题在于,这个节点只能由root账户访问。您需要告诉udev允许一个程序(在这种情况下是ADB)使用普通用户账户与其通信。
要做到这一点,您需要在/etc/udev/rules.d/目录下创建一个文件。
我有一个叫做99-my.rules的文件。
在这个文件中,为您的S2添加以下一行: SUBSYSTEM=="usb", ATTR{idVendor}=="04e8",ATTR{idProduct}="685e", OWNER="YOUR USERNAME", GROUP="YOUR USERNAME"

在YOUR USERNAME处,填入你的用户名。

你需要使用root账户来执行此操作,在Ubuntu中,在调用命令前加上sudo。例如:sudo gedit /etc/udev/rules.d/99-my.rules

现在重新启动或运行sudo service udev restart

将手机连接并使用adb devices进行测试。应该会显示手机的ID。

Ubuntu非常适合Android开发,我在工作中一直使用它。当Windows用户试图为正在测试的新设备寻找驱动程序时,我只需执行lsusb获取idVendor和idProduct的值,添加一行新的规则到udev中,然后重启服务,就可以开始工作了。:)