I created a replacement for the Bluetooth.apk system app. This implements the Phone Book Access Protocol (PBAP) for AOSP based Android ROMs, like CyanogenMod. HTC Sense or pre-ICS Samsung based ROMs also have that file but it is not used there, so an update will not change anything. On ICS Samsung Galaxy S II and III you will lose built-in rSAP by replacing Bluetooth.apk.
I don't know much about non-HTC or non-Samsung ROMs, perhaps it works for them. In case of doubt simply try to install and check if it helps.
It is not necessary to have rSAP connection, it may also help if you connect your phone via "Handsfree" (HFP)!
Use Bluetooth Phonebook App
Since Google is making a lot of changes between Android versions I will not create replacement Apk for Android 4.2 and following. Instead I extracted the PBAP code and added it to my Bluetooth Phonebook app. The app is available in Google Play Store for 1.49€. It also supports 4.2 and does not need root rights!.
If you already rooted your phone and have Android 2.3, 4.0 or 4.1 read on.
I uploaded the modification to Android Open Source some time ago, but it is not reviewed, yet. CyanogenMod seems to have it included in recent versions. Perhaps you can help to add it to the official Android source by "starring" this bug report: https://code.google.com/p/android/issue ... l?id=33030. Simply scroll down and click "Vote for this issue...".
Install this file at your own risk! Best is to do a Nandroid backup before you change anything!
Keep the original files somewhere. Most "over the air" system updates check for them and refuse to continue with modified files!
Option 1: Automatic installation
This is the easiest way. The installer app renames your original files and installs the modified Bluetooth.apk according to your Android version.
- supports Samsung Galaxy S III
- supports Android 4.1 (Jelly Bean)
In case this fails you may try
Option 2: Manual installation
Before you replace the original file rename it or copy it to a safe place e.g. SD card, so you can restore to a working state. If you also have a Bluetooth.odex file save this too, and rename or remove it!
Because the file is located in the system partition the installation is not so easy. You have several options:
1. Option: Use a PC and adb
This works on CyanogenMod and other custom ROMs that support the "adb remount" command. Connect your phone via USB or TCP/IP and enter the following commands in the Windows command line or a Linux shell:
2. Option: Use Root Explorer or similar tool
Code: Select all
adb remount adb push [Path on PC]Bluetooth.apk /system/app adb shell rm /system/app/Bluetooth.odex adb reboot
There should be special options in the tool to copy files to the system partition. Copy the file to /system/app. Make sure the owner/group of the file is "root" and the file has rw-r--r--/644 permission. Remove or rename Bluetooth.odex if present.
3. Option: Use only phone based tools
You need an app to remount the system partition (e.g. "Remount" by Stericson) and a shell (e.g. "Android Terminal Emulator" by Jack Palevich - this is already included in CyanogenMod ROMs).
First copy the Bluetooth.apk to the SD card. Then set /system to "rw" with the remount app and open the shell. Enter
Code: Select all
su cp /mnt/sdcard/Bluetooth.apk /system/app rm /system/app/Bluetooth.odex
After installing the modifed Bluetooth.apk reboot your phone. If you get error messages directly after boot your system is not compatible with the apk. Then restore the original file with one of the three options.
Otherwise go to your car, update the phone book and check if it solves your problems...
Please share your experience in this forum. Create topics with phone name, ROM and car!