1
GoBeyond 2017-03-28 06:14:57 +08:00 via Android
标题有点空洞吧,说详细点
|
2
googlebot 2017-03-28 06:26:47 +08:00 via Android
算法移植容易,在加个 android 皮,
|
3
linbiaye 2017-03-28 07:50:16 +08:00
看什么语言的, c/c++的如果安卓支持各种 api/abi ,写 mk 就可以。
|
4
linux40 2017-03-28 08:07:34 +08:00 via Android
库要完整。。。
|
5
shoaly 2017-03-28 08:39:31 +08:00
不知道 tmux 是否开源
|
6
shoaly 2017-03-28 08:40:11 +08:00
上面说错了, 该死..应该是 https://github.com/termux 这货
|
7
nicevar 2017-03-28 08:53:29 +08:00 via iPhone
配置好 Android 的 ndk 环境, Application.mk 和 Android.mk 写好, lib 也准备好然后开始一步步解决问题就行了
|
8
nicevar 2017-03-28 08:54:45 +08:00 via iPhone
界面交互的话需要写 jni 提供接口给 Java 层钓鱼
|
9
zhchyu999 2017-03-28 08:58:29 +08:00
拿源码用 ndk 中的编译器,交叉编译。
|
10
716438031 OP @GoBeyond 假如我要把 Linux 下的一个程序 screenfetch 移植到 Android 运行,需要怎么做呢......
|
13
debye 2017-03-28 13:09:19 +08:00
linux 大多是服务性质的软件吧, android 大都面向最终用户的, UI 很重要,大部分都没有移植的意义。
|
14
hitmanx 2017-03-28 13:43:57 +08:00
去年干过类似的事,把一个 C++底层的库和一堆依赖 library 、 test 程序移植到了 Android 上。我不是专门搞 Android 的,所以纯粹是站在一个 Linux C++ developer 上的一些经验,不知道对你有没有帮助。
如果是 C\C++的程序,基本流程可能是这样的,先把它编成 Android 上的 native 程序(这一步没有什么 Android 特有的东西在里面,就和移植到任何平台一样),具体来说,找到对应的交叉编译器(NDK),选择你习惯的 make 工具,编译你的代码。然后就可以尝试通过 ADB 把编完的程序上传到 android 上跑,上传、运行等都可以通过 adb (有大把的教程) 。等以上 native 跑通了,再去搞 APK ,用 JNI 去封装一个 java 层,一种方法是把你的程序编成一个 shared library ,然后在 wrapper 层里去 dlopen 你的 library , dlsym 其中的 main ,然后执行等等,这一步有很多 tricky 的地方,比如 linux 下的环境变量在 Android 上怎么处理,或者窗口的 handle 怎么传递等等。 |
15
RqPS6rhmP3Nyn3Tm 2017-03-28 13:49:21 +08:00 via iPhone
移植 screenfetch 有啥意义……
|
16
lrz0lrz 2017-03-28 16:49:33 +08:00
但是 termux 有 screenfetch 啊?
|
17
lrz0lrz 2017-03-28 16:50:48 +08:00 1
|
18
ProjectSky 2017-03-28 19:26:50 +08:00 1
termux 有包构建工具,但是文档缺失严重。
https://github.com/termux/termux-packages/blob/master/README.md |
19
ywgx 2017-03-28 19:29:54 +08:00 via iPhone
mv 命令可以的
|
23
loading 2017-03-28 21:39:47 +08:00 via Android
软件最难的是创新,而你这种移植。
建议直接写一个,应该更快一些。 |
24
716438031 OP @lrz0lrz 在 Android4.4 用不了 termux......不知道里面的工具能否拿出来直接用呢.......
|
25
716438031 OP @ProjectSky 感谢分享.....(虽然不确定我能否读懂 2333)
|
28
flynaj 2017-03-28 21:45:12 +08:00 via Android
看原来是什么软件写的,如果是 golang,就简单了, https://github.com/xtaci/kcptun/releases
|