构建 Android 应用程序以在 Android 平板电脑上运行 PHP 和 MySQL
Posted
技术标签:
【中文标题】构建 Android 应用程序以在 Android 平板电脑上运行 PHP 和 MySQL【英文标题】:Building Android app for running PHP and MySQL on Android Tablet 【发布时间】:2013-10-02 09:52:55 【问题描述】:我想在我的 android 设备上运行 php + mysql 服务器。人们似乎建议像KSWeb 和Bit Web 这样的应用程序。
建议的其他解决方案是我安装application that allows me to run Linux on Android。这需要 Android 设备被植根。 :(
我不想为此使用任何其他应用程序。所以我想自己构建一个类似于KSWeb的应用程序。我已经四处寻找如何开始构建这样的应用程序,但到目前为止还没有帮助。有关如何进行此操作的任何指导?
我的意思是 KSWeb 怎么可能在没有 root 的情况下构建这样的东西。 :O
任何有关如何构建此应用程序的指导都会非常有帮助。
有人告诉我要为 ARMv6 编译二进制文件,但我不知道如何开始。
NDK 对我有用吗?
请帮忙。
【问题讨论】:
【参考方案1】:我目前正在维护free and open source web server 解决方案堆栈包,主要由 Lighttptd HTTP 服务器、MySQL 数据库、PHP 编程语言组成。它仍处于测试阶段。
它可以让你了解如何在android中开发这类东西。
是的,它的真正二进制文件必须为 ARM CPU 编译才能使文件可执行。
您可以使用 NDK,但我建议您使用 CodeSourcery 或 Linaro 等替代方案
这里有一些将 Linux 程序交叉编译到 ARM 的入门教程
ARM cross-compiling Cross compiling static C hello world无论如何你都可以阅读这篇文章我如何为 DroidPHP 进行交叉编译
Cross Compiling for DroidPHP【讨论】:
谢谢。这看起来与我需要的非常相似。我会研究这个并回复你。 Hey Shushant.. 你能解释一下将 PHP、MySQL 和 Apache 编译到 Android 中的步骤吗?从源代码编译看起来是一项艰巨的工作。我记得在 FreeBSD 上构建 Apache、PHP 和 MySQL,花了几个小时! :O 如果您能解释编译步骤,我会很高兴。 :D 编译 php 以及通常需要的扩展是一场噩梦,您需要单独交叉编译扩展。如果您在交叉编译方面需要帮助,请在 unix.stackexchange.com 创建一个新问题 感谢您的快速回复。我将单独了解有关交叉编译扩展的更多信息。你能和我分享一下在Android上编译PHP的一般步骤吗? Shushant.. 我不知道这是否是 DroidPHP 的错误。但是当我使用getRunningServices
时,我总是得到一个名为com.github.DroidPHP.ServerService
的服务。即使服务器没有运行,我也会得到这个。我想你需要在 btn_stopServer.setOnClickListener
中添加 stopService
HomeActivity.java
。【参考方案2】:
如果您愿意使用 PHP/Mysql 以外的其他工具,Python 可能是一个不错的选择。您可以通过 Python 监听套接字并发送信息,这通过 SL4A 应用程序支持。
显然 CherryPy 适用于 Android:http://www.defuze.org/archives/228-running-cherrypy-on-android-with-sl4a.html
有 Django 可能还有其他,但设置起来可能更复杂。
【讨论】:
如果我要写一个新的应用程序,那我宁愿写一个原生的android应用程序,我为什么要走客户端-服务器的方式呢? :P【参考方案3】:我是 android 新手,但听起来有些不对劲 this.php 是一种服务器端脚本语言。现在你要从热点跑到热点托管我猜是一个由 mysql 数据库支持的 Web 服务。你有静态ip吗?如果 sqlite 尚未内置到 droid 中,Mysql 是低端 dbms 的绝佳选择。就像我说我是新人,可能是我,但这听起来是错误的。 从答案中,我看到有人在谈论编译 php,这将使它不再是脚本。
【讨论】:
其实我们要在平板上运行PHP+MySQL服务器。该平板电脑一般不会连接到互联网。我使用 Soap API 在 Internet 或 LAN 上运行的当前应用程序。所以我想在平板本身配置PHP+MySQL服务器,这样就不需要在局域网上另外设置服务器了。 所有安卓都内置了sqlite。 如果您想在全球范围内访问服务器,请考虑使用动态 dns 服务,例如 freedns.afraid.org @Shushant.. 不,我不会在全球范围内访问服务器。服务器将仅用作本地主机或局域网中的最大值。【参考方案4】:这里有一些关于在 arm6 上交叉编译 PHP、nginx、Lighttpd 的文章
交叉编译 PHP
Cross Compile PHP 5.3.3 to ARM Error while compiling PHP for ARM(不恭敬但乐于助人) starting with php cross compile Cross Compile Lighttpd + PHP + MySQL for ARM (2)(中文翻译成英文)交叉编译LIghttpd
lighttpd cross compiling Cross compiling for ARM9 doesn't work交叉编译 Nginx
Nginx CMake【讨论】:
以上是关于构建 Android 应用程序以在 Android 平板电脑上运行 PHP 和 MySQL的主要内容,如果未能解决你的问题,请参考以下文章
XMPP Android - 构建客户端以在 facebook 上聊天或 facebook 聊天集成
从网站打开 GoogleMaps 应用程序以在 android 上导航
如何从服务器发送文本以在 android 的 TextView 中显示?
获取ObtainStyledAttributes以在Android的xamarin中正常工作