PDroid allows blocking access for any installed application to the following data separately:
- Device ID (IMEI/MEID/ESN)
- Subscriber ID (IMSI)
- SIM serial (ICCID)
- Phone and mailbox number
- Incoming call number
- Outgoing call number
- GPS location
- Network location
- List of accounts (including your google e-mail address)
- Account auth tokens
- Call logs
- Browser bookmarks and history
- System logs
- SIM info (operator, country)
- Network info (operator, country)
Why you would want to use it:
- Applicaitons do NOT crash when access to private data is blocked (unlike with Permissions Denied or CM)
- Fine-grained tuning of access to private data
- No background service needed
- Very small memory footprint (~700KB)
- No impact on battery life
- No impact on performance (5ms overhead on access to private data; yes, that's 0.005s)
- 100% reliable unlike ROOT applications (LBE), which need to start their background service on boot (see android underground to learn why this is an issue)
- No ROOT required for the app to run
- No Android permissions required for the app to run
Automatic PDroid Patcher for Windows (XP/Vista/7):
- JDK 6 or newer is required (get it here http://www.oracle.com/technetwork/ja...ad-346242.html)
- Install JDK 6 into the default directory (don't change anything when installing)
- .NET Framework 2.0 or newer required (ships with Windows since XP SP2)
- Currently only supports Gingerbread (Android 2.3)
- Will only work with deodexed ROMs (take a look into your ROM's system/framework directory; if there are any *.odex files, your ROM is NOT deodexed)
- You will need to re-create your settings backup after updating from version 1.27 (it is not compatible with the newer version)
Download PDroid Patcher v1.32 Beta 0.321 for Windows
Patch Installation Requirements:
- ROOTED device
- For HTC devices: S-OFF ([TOOL] One click ENG S-OFF for HTC Desire HD)
- ClockworkMod Recovery 184.108.40.206 or newer
- If you "integrated sys Dalvik into ROM" with Titanium Backup, you will have to undo it
- BACKUP YOUR ROM (HOWTO)
- Make a PDroid Patch for your ROM with the PDroid Patcher and put the patch on your SD card
- Boot your device into your custom (CWM) recovery (Desire HD: vol down + power)
- If you flashed the patch before but PDroid said it still was not installed, then select "mount /system"
- Select "install zip from sdcard"
- Select "choose zip from sdcard"
- Select the PDroid patch you have put on your SD card
- After flashing is finished, reboot the device
- Install the PDroid app from the Android Market
- Rate the app at the Android market (let me know, if you have any issues beforehand)
1.32: Fixed updating from version 1.27 and below
1.31: Fixed patching incompatibility with some ROMs (like Zeus v5)
- Fixed the alarm being put to snooze every time a call is received or made
- Fixed FC for some applications (like Yandex Maps)
- Fixed bootloops for AT&T and SonyEricsson devices (hopefully)
- Many small tweaks
1.26: Fixed an issue, which would make Google Listen and probably other apps crash
- Fixed an issue, where PDroid would conflict with some ROOT applications making them freeze
- Fixed random geocoordinates generation
- Fixed other minor bugs
1.21: Fixed the bug where the device would sometimes boot loop right after the boot is finished
1.2: Added data access notification feature
1.0: Initial release
- Download: PDroid 2.3.4 source (v1.27) (yes it is based on 2.3.4 but also works with 2.3.3 and 2.3.5 flawlessly)
- Get the 2.3.4 source from AOSP (branch: android-2.3.4_r1)
- Extract the patches from the above archive to the 2.3.4 tree root
- Run: Code:
patch -p1 -i build.patch patch -p1 -i frameworks.patch patch -p1 -i libcore.patch
- Make a clean build
- Apply the patches (see above)
source build/envsetup.sh make update-api mmm frameworks/base mmm frameworks/base/services/java mmm libcore make snod
I do not have Market access, where can I download the PDroid app?
What about controlling the internet access?
How do I make a patch manually myself?
- Make a clean AOSP build (2.3.4, assuming that your ROM is based on 2.3.x)
- Make another build with PDroid sources added
- Decompile the framework.jar, services.jar and core.jar files inside the system/framework directory (of both above builds) using apktool
- Diff the output so that you know, which parts were changed by PDroid
- Decompile the above three files from your ROM, you want to patch
- Add the missing code to your ROM files based on the above diff
- Recompile your patched ROM files using apktool
Do you plan on adding Froyo/ICS support?
Will you provide a public source code repository for PDroid?
Can I backup the privacy settings with TitaniumBackup?
Can I use LBE Privacy Guard together with PDroid?
I have applied the correct patch but my device does not boot, how do I find out what the error is?
- Restore your backup
- Get the Android SDK
- Install it (you don't need the eclipse part)
- Enable USB-debugging on your device
- Connect it to your PC
- Start ddms, which is located in the android-sdk-[platform]\tools directory
- Apply PDroid patch
- Reboot the device
- When your device appears in the ddms window, click on it to see the system log
- Filter the log by "error"
- Watch the system log for errors and post them here
I have flashed a patch but I am having very weird issues I didn't have before (like you cannot unlock the SIM card or there are weird graphics etc.)?
Also make sure that you are using a patch appropriate for your ROM (the CyanogenMod patches for stable 7.1 will mostly not work on nightlies unless the link says so).
How do I make a patch for my device after I have flashed some other mods?
Otherwise you will need to extract those three files from your device (use a root file manager or adb pull), put them into your ROM zip (also in /system/framework) and then create a PDroid patch based on the ROM zip.