我不确定这个问题是否设置到了正确的位置。如果不对,请引导我到那个地方。
我有一部三星 Galaxy SII,正在从事 Android 开发。
前几天我还在使用 Windows 操作系统,但现在我使用的是 Ubuntu。
在 Windows 中,我可以借助 Samsung Kies 将我的 Android 应用程序调试到 Galaxy SII 中,但在 Ubuntu 中无法做到这一点。
那么,Ubuntu 的替代品是什么呢?我在 Google 上搜索过很多次,但仍然没有找到支持 Ubuntu 的 Kies。
答案1
好吧,如果我没看错的话,你只是想在 Android 设备上调试你的应用程序。如果这是正确的,那么你真正需要的只是 Android SDK 并设置 ADB 或“Android 调试桥”。这并不难,但可能需要一些工作才能使 USB 正常工作。你还需要转到设置>应用程序>调试>启用 USB 调试。如果使用 Eclipse 进行应用程序开发,有几种工具可以自动将应用程序的测试版本发送到你的手机。
如需更深入的解答,请参阅此处的 Android 开发者网站:http://developer.android.com/guide/developing/device.html
此外,似乎没有针对 Linux 上的 kies 的解决方案。我对 kies 一无所知,但标准的 Android 应用程序开发方法应该可以正常工作,而且开发者网站上有大量文档。
答案2
我有一部 Galaxy(顺便说一句,这是一部很棒的手机),但遗憾的是,我不得不确认,三星 Kies 无法在 Wine 中运行。即使成功安装了 Kies,您也不太可能与手机建立正确的联系。我认为这是因为 wine 对 USB 的支持有限。(这就是 tomtom home 无法在 wine 中运行的原因 - 它可以完美安装,但无法与设备通信)
我尝试在 VirtualBox 中运行的 Win XP 虚拟机中让它运行,但也失败了 —— 虚拟 XP 安装总是冻结,必须强制关闭。
在本机 (k)ubuntu 中进行拖放操作很好(但我想您已经知道这一点)但根据我的经验,Kies 需要一个功能齐全的窗口。
如果您确实成功让它在‘buntu 中运行,我和毫无疑问的许多其他人都会非常渴望听到这个消息。
答案3
您不需要 Kies 或驱动程序即可在 Linux 上使用 ADB 和 sdk。首先访问 android 开发者网站并安装 SDK 和 Eclipse。我预计,由于您已经在 Windows 上进行开发,因此您可以按照他们的说明完成这一部分。
在 Linux 中,USB 驱动程序可以位于用户空间中,即直接内置于程序中。编码器使用 libusb API 来实现这一点。但还有一点,它不能开箱即用。
当 USB 设备插入 PC 时,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 中添加新行并重新启动服务,我就可以正常运行了。:)
答案4
您可以在 Ubuntu 上运行 Kies,在我换到 Mint 之前,我在上网本上用了它大约两个月。它在 Ubuntu 上运行完美,但遗憾的是它在 Mint、Lubuntu 或 Xubuntu 上却不行。
您需要 Wine 来下载它。下载结束时会弹出一条错误消息,但仍然可以正常工作。