Android 解决AIDL bindService异常

        • 问题1 bindService抛出异常java.lang.SecurityException: Not allowed to bind to service
        • 问题2 bindService抛出异常android bindService process is forbid to start by firewall
        • 问题3 bindService返回false

一直做嵌入式linux开发,不料前些日子产品要移植android平台,只好一边看各路android大神的博客,一边移植项目。语言还好说,基本都差不多;平台差异真的还是挺大的。

以往在linux平台中,IPC(进程间通信)大多会通过socket来实现。
切换到Android以后,发现有更简单高效的AIDL可以使用,于是想先写个demo尝试。

服务端我只定义了一个Service,客户端做了一个简单的Activity,上面有几个测试用的Button。于是就开始了坎坷的调试之路。

问题1 bindService抛出异常java.lang.SecurityException: Not allowed to bind to service

⇒ Manifest中service的exported属性设置为true

问题2 bindService抛出异常android bindService process is forbid to start by firewall

⇒ 服务端只有一个Service,后来随便加了一个Activity这个异常就解决掉了。难道android应用里不可以只有Service吗?我对此表示怀疑,应该会有更好方法去解决,如果有小伙伴知道,请指点一二。

问题3 bindService返回false

解决:这个问题困扰了我好久,网上找来的解决方案不少,但是没有对症的。直到后来看到了下面这篇文章
https://blog.csdn.net/jinrall/article/details/53465403

我的服务端app是com.test.aidltestserver,服务Service所在的包是com.test.aidltestserver.aidl。我在客户端中bindService时,创建Intent的代码如下

Intent intent = new Intent("com.test.aidltestserve.aidl.StartService");intent.setClassName("com.test.aidltestserve.aidl", "com.test.aidltestserve.aidl.ConnectionService");boolean ret = getApplicationContext().bindService(intent, conn, BIND_AUTO_CREATE);

问题就出在setClassName方法的第一个参数,这个参数的形参命是packageName,于是我就想当然的传入了包名"com.test.aidltestserve.aidl",但是事实上这个参数要传入的是ApplicationID,也就是**“com.test.aidltestserve”**。修改了参数以后,bindService终于成功了!

更多相关文章

  1. Android中Service类onStartCommand的返回值问题
  2. [已解决]mac android studio安装报错java.lang.RuntimeException
  3. Android(安卓)读取TXT 文件中文乱码 解决方案
  4. 如何解决Errors occurred during the build.
  5. Android(安卓)PopupWindow工具类 (已解决7.1以上showAsDropDown
  6. Android(安卓)SDK Manager无法更新解决方法
  7. android在service中使用AsyncHttpClient加载网络资源
  8. Android(安卓)SDK更新 Connection to http://dl-ssl.google.com
  9. android 开发中遇到错误及解决办法总结(在别处看到的)

随机推荐

  1. Android Service Framework
  2. Android MVP Pattern
  3. React Native apk打包下载(android)
  4. android studio 的下拉菜单Spinner使用详
  5. 基于OpenCV和OpenGL 的简易美颜相机
  6. android中的spannable的使用(TextView分段
  7. android UI小结(五)
  8. Android 组件安全
  9. android - ViewPager 监听左右滑动
  10. Error: Error parsing D:\android-sdk-w