[编转]Android localsocket 的基础和使用实践: 02
2014-10-09 15:29
489 查看
在上一节里,谈到了基础和具体是实践实现:
这一节涉及调试和具体的实践测试:
http://blog.csdn.net/yellow_hill/article/details/39548165
其实是因为没有加入class main选项.
[注意]
如果没有加入,那么需要在目标板启动后,手动启动服务
root@TargetBoard:/ # start htfskservice
[注意] 启动的服务名,是和你在init.rc里面设定一致,这里是 htfskservice
启动之后,
root@TargetBoard:/ # ps
应该能看到:
u0_a79 3643 1505 513560 21280 ffffffff 40088a04 S com.cbox:remote
u0_a64 3656 1505 512444 18000 ffffffff 40088a04 S com.android.exchange
u0_a8 3683 1505 508696 16128 ffffffff 40088a04 S com.android.musicfx
root 3779 1 912 188 c08e4994 b6f86528 S /system/bin/htfsk
root 3797 1519 1244 236 00000000 b6f64570 R ps
注,原作者的方法是重新编译整个应用,然后重新烧写,这未免太费事了
J***A客户端
编译之后,其实我们只需要找到生成的apk,然后用adb push到目标板就可以了
编译后APK位置:
target Package: mSocket (out/target/product/xxx/xxx/obj/APPS/mSocket_intermediates/package.apk)
Warning: AndroidManifest.xml already defines versionCode (in http://schemas.android.com/apk/res/android); using existing value in manifest.
Warning: AndroidManifest.xml already defines versionName (in http://schemas.android.com/apk/res/android); using existing value in manifest.
Warning: AndroidManifest.xml already defines minSdkVersion (in http://schemas.android.com/apk/res/android); using existing value in manifest.
Install: out/target/product/xxx/xx/system/app/mSocket.apk
服务器端
当然,同时生成的native的执行代码在这里
target Strip: htfsk (out/target/product/xxx/xxx/obj/EXECUTABLES/htfsk_intermediates/htfsk)
Install: out/target/product/xxx/xxx/system/bin/htfsk
adb push mSocket.apk /system/app 下
或者 /data/app 下
然后,adb push htfsk /system/bin
下
然后,重启机器,大功告成.
[注意]
如果没有加入,那么需要在目标板启动后,手动启动服务
root@TargetBoard:/ # start htfskservice
[注意] 启动的服务名,是和你在init.rc里面设定一致,这里是 htfskservice
启动之后,
root@TargetBoard:/ # ps
应该能看到:
u0_a79 3643 1505 513560 21280 ffffffff 40088a04 S com.cbox:remote
u0_a64 3656 1505 512444 18000 ffffffff 40088a04 S com.android.exchange
u0_a8 3683 1505 508696 16128 ffffffff 40088a04 S com.android.musicfx
root 3779 1 912 188 c08e4994 b6f86528 S /system/bin/htfsk
root 3797 1519 1244 236 00000000 b6f64570 R ps
看到服务启动后,启动apk,输入你的名字,程序会通过localsocket反馈给你连接成功.
http://blog.csdn.net/yellow_hill/article/details/39498015
Android应用与framework的socket通信实例
http://www.apkbus.com/android-70417-1-1.html
这一节涉及调试和具体的实践测试:
例子源码在:
http://download.csdn.net/detail/goleftgoright/4183596下载源码后,你需要在你的Linux开发pc上,例如ubuntu上修改一些东西:
01 你需要找到你的init.rc位置:
ref:http://blog.csdn.net/yellow_hill/article/details/39548165
02 你需要在init.rc 加入你的socket服务
service <strong><span style="color:#33cc00;">htfskservice</span> </strong>/system/bin/htfsk
class main socket htfsk stream 666 system system oneshot[注意]如果不加入class main,那么service 是不会在系统起来的时候自动启动的,之前我也以为既然加入了init.rc那么肯定是启动就起来了....崩溃
其实是因为没有加入class main选项.
03 做完这些后,你需要重新编译你的内核
make kernel[注意]
如果没有加入,那么需要在目标板启动后,手动启动服务
root@TargetBoard:/ # start htfskservice
[注意] 启动的服务名,是和你在init.rc里面设定一致,这里是 htfskservice
启动之后,
root@TargetBoard:/ # ps
应该能看到:
u0_a79 3643 1505 513560 21280 ffffffff 40088a04 S com.cbox:remote
u0_a64 3656 1505 512444 18000 ffffffff 40088a04 S com.android.exchange
u0_a8 3683 1505 508696 16128 ffffffff 40088a04 S com.android.musicfx
root 3779 1 912 188 c08e4994 b6f86528 S /system/bin/htfsk
root 3797 1519 1244 236 00000000 b6f64570 R ps
04 将源码copy到你的项目编译PC上,
将工程MySocket拷贝到android源码的/packages/apps目录下编译就可以了注,原作者的方法是重新编译整个应用,然后重新烧写,这未免太费事了
J***A客户端
编译之后,其实我们只需要找到生成的apk,然后用adb push到目标板就可以了
编译后APK位置:
target Package: mSocket (out/target/product/xxx/xxx/obj/APPS/mSocket_intermediates/package.apk)
Warning: AndroidManifest.xml already defines versionCode (in http://schemas.android.com/apk/res/android); using existing value in manifest.
Warning: AndroidManifest.xml already defines versionName (in http://schemas.android.com/apk/res/android); using existing value in manifest.
Warning: AndroidManifest.xml already defines minSdkVersion (in http://schemas.android.com/apk/res/android); using existing value in manifest.
Install: out/target/product/xxx/xx/system/app/mSocket.apk
服务器端
当然,同时生成的native的执行代码在这里
target Strip: htfsk (out/target/product/xxx/xxx/obj/EXECUTABLES/htfsk_intermediates/htfsk)
Install: out/target/product/xxx/xxx/system/bin/htfsk
05 adb push 对应的服务器端和客户端到目标板
进到对应的目录,然后adb push mSocket.apk /system/app 下
或者 /data/app 下
然后,adb push htfsk /system/bin
下
然后,重启机器,大功告成.
[注意]
如果没有加入,那么需要在目标板启动后,手动启动服务
root@TargetBoard:/ # start htfskservice
[注意] 启动的服务名,是和你在init.rc里面设定一致,这里是 htfskservice
启动之后,
root@TargetBoard:/ # ps
应该能看到:
u0_a79 3643 1505 513560 21280 ffffffff 40088a04 S com.cbox:remote
u0_a64 3656 1505 512444 18000 ffffffff 40088a04 S com.android.exchange
u0_a8 3683 1505 508696 16128 ffffffff 40088a04 S com.android.musicfx
root 3779 1 912 188 c08e4994 b6f86528 S /system/bin/htfsk
root 3797 1519 1244 236 00000000 b6f64570 R ps
看到服务启动后,启动apk,输入你的名字,程序会通过localsocket反馈给你连接成功.
ref:
Android localsocket 的基础和使用实践: 01http://blog.csdn.net/yellow_hill/article/details/39498015
Android应用与framework的socket通信实例
http://www.apkbus.com/android-70417-1-1.html
相关文章推荐
- Android localsocket 的基础和使用实践: 01
- Android中LocalSocket使用 进程通信
- Android Localsocket的使用
- Android中LocalSocket使用
- android LocalSocket的使用
- Android中LocalSocket使用
- Android中LocalSocket使用
- Android中LocalSocket使用
- Android中LocalSocket使用
- Android中LocalSocket使用
- Android中LocalSocket使用
- Android中LocalSocket(套接字)使用
- Android中LocalSocket使用
- Android中LocalSocket使用
- Android中LocalSocket使用
- Android中LocalSocket使用
- Android中LocalSocket使用
- Android基础知识_02颜色的使用
- Android中LocalSocket使用
- Android之LocalSocket和LocalServerSocket的使用