Firefly开源社区

打印 上一主题 下一主题

Android SDk如何添加本地系统服务?

47

积分

0

威望

0

贡献

游客

积分
47

Android SDk如何添加本地系统服务?

发表于 2015-10-21 08:54:03      浏览:9235 | 回复:8        打印      只看该作者   [复制链接] 楼主
Android SDk如何添加本地系统服务,在framework/base/native/libs目录下添加服务

回复

使用道具 举报

63

积分

0

威望

0

贡献

技术小白

积分
63
发表于 2015-10-21 10:00:51        只看该作者  沙发
http://developer.t-firefly.com/thread-183-1-1.html
自己做一个,放在init.rc中就可以了。
回复

使用道具 举报

47

积分

0

威望

0

贡献

游客

积分
47
发表于 2015-10-21 12:24:10        只看该作者  板凳
bunchen 发表于 2015-10-21 10:00
http://developer.t-firefly.com/thread-183-1-1.html
自己做一个,放在init.rc中就可以了。

本地服务一般放在哪个目录下
回复

使用道具 举报

265

积分

5

威望

6

贡献

实习版主

Rank: 7Rank: 7Rank: 7

积分
265

活跃会员热心会员突出贡献

发表于 2015-10-21 12:45:17        只看该作者  地板
网上例子多得很哦
回复

使用道具 举报

265

积分

5

威望

6

贡献

实习版主

Rank: 7Rank: 7Rank: 7

积分
265

活跃会员热心会员突出贡献

发表于 2015-10-21 12:46:09        只看该作者  5#
dyhui1992 发表于 2015-10-21 12:24
本地服务一般放在哪个目录下

system/bin可以
回复

使用道具 举报

47

积分

0

威望

0

贡献

游客

积分
47
发表于 2015-10-21 14:49:41        只看该作者  6#

假如我要使本地服务生成一个像libbinder.so这样的文件,代码应该在哪个目录下
回复

使用道具 举报

63

积分

0

威望

0

贡献

技术小白

积分
63
发表于 2015-10-21 15:29:26        只看该作者  7#
dyhui1992 发表于 2015-10-21 14:49
假如我要使本地服务生成一个像libbinder.so这样的文件,代码应该在哪个目录下

库放在/system/lib
可执行文件放在/system/bin
就可以了。
回复

使用道具 举报

47

积分

0

威望

0

贡献

游客

积分
47
发表于 2015-10-21 16:07:37        只看该作者  8#
bunchen 发表于 2015-10-21 15:29
库放在/system/lib
可执行文件放在/system/bin
就可以了。

如何生生成库呢,我编写了一个服务,头文件在framwork/native/include的目录下,源文件在framework/native/lib目录下,编译报错
target thumb C++: libhelloworld <= frameworks/native/libs/helloworld/HelloWorldService.cpp
target SharedLib: libhelloworld (out/target/product/rk3288/obj/SHARED_LIBRARIES/libhelloworld_intermediates/LINKED/libhelloworld.so)
frameworks/native/libs/helloworld/IHelloWorldService.cpp:25: error: undefined reference to 'android::Parcel::Parcel()'
frameworks/native/libs/helloworld/IHelloWorldService.cpp:25: error: undefined reference to 'android::Parcel::Parcel()'
frameworks/native/libs/helloworld/IHelloWorldService.cpp:27: error: undefined reference to 'android::Parcel::writeInterfaceToken(android::String16 const&)'
frameworks/native/libs/helloworld/IHelloWorldService.cpp:29: error: undefined reference to 'android::Parcel::writeCString(char const*)'
frameworks/native/libs/helloworld/IHelloWorldService.cpp:35: error: undefined reference to '__android_log_print'
frameworks/native/libs/helloworld/IHelloWorldService.cpp:38: error: undefined reference to 'android::Parcel::readInt32() const'
frameworks/native/libs/helloworld/IHelloWorldService.cpp:25: error: undefined reference to 'android::Parcel::~Parcel()'
frameworks/native/libs/helloworld/IHelloWorldService.cpp:42: error: undefined reference to 'android::Parcel::~Parcel()'
frameworks/native/libs/helloworld/IHelloWorldService.cpp:49: error: undefined reference to 'android::IInterface::~IInterface()'
frameworks/native/libs/helloworld/IHelloWorldService.cpp:49: error: undefined reference to 'android::RefBase::~RefBase()'
frameworks/native/libs/helloworld/IHelloWorldService.cpp:55: error: undefined reference to 'android::Parcel::checkInterface(android::IBinder*) const'
frameworks/native/libs/helloworld/IHelloWorldService.cpp:57: error: undefined reference to 'android::Parcel::readCString() const'
frameworks/native/libs/helloworld/IHelloWorldService.cpp:59: error: undefined reference to 'android::Parcel::writeInt32(int)'
frameworks/native/libs/helloworld/IHelloWorldService.cpp:63: error: undefined reference to 'android::BBinder::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)'
system/core/include/utils/String16.h:193: error: undefined reference to 'strzcmp16'
回复

使用道具 举报

63

积分

0

威望

0

贡献

技术小白

积分
63
发表于 2015-10-22 09:10:56        只看该作者  9#
dyhui1992 发表于 2015-10-21 16:07
如何生生成库呢,我编写了一个服务,头文件在framwork/native/include的目录下,源文件在framework/nativ ...

这是链接错误,要加入要链接的库,如:

LOCAL_SHARED_LIBRARIES := libutils libbinder liblog
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表