dyhui1992 发表于 2015-10-21 08:54:03

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

Android SDk如何添加本地系统服务,在framework/base/native/libs目录下添加服务

bunchen 发表于 2015-10-21 10:00:51

http://developer.t-firefly.com/thread-183-1-1.html
自己做一个,放在init.rc中就可以了。

dyhui1992 发表于 2015-10-21 12:24:10

bunchen 发表于 2015-10-21 10:00
http://developer.t-firefly.com/thread-183-1-1.html
自己做一个,放在init.rc中就可以了。

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

carlinluo 发表于 2015-10-21 12:45:17

网上例子多得很哦

carlinluo 发表于 2015-10-21 12:46:09

dyhui1992 发表于 2015-10-21 12:24
本地服务一般放在哪个目录下

system/bin可以

dyhui1992 发表于 2015-10-21 14:49:41

carlinluo 发表于 2015-10-21 12:46
system/bin可以

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

bunchen 发表于 2015-10-21 15:29:26

dyhui1992 发表于 2015-10-21 14:49
假如我要使本地服务生成一个像libbinder.so这样的文件,代码应该在哪个目录下

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

dyhui1992 发表于 2015-10-21 16:07:37

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'

bunchen 发表于 2015-10-22 09:10:56

dyhui1992 发表于 2015-10-21 16:07
如何生生成库呢,我编写了一个服务,头文件在framwork/native/include的目录下,源文件在framework/nativ ...

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

LOCAL_SHARED_LIBRARIES := libutils libbinder liblog
页: [1]
查看完整版本: Android SDk如何添加本地系统服务?