Welcome to XDA

Search to go directly to your device's forum

Register an account

Unlock full posting privileges

Ask a question

No registration required
Post Reply

[APP] FM Radio for the Droid 2!!

OP slayher

31st August 2010, 04:09 AM   |  #1  
OP Senior Member
Thanks Meter: 840
 
211 posts
Join Date:Joined: Mar 2010
Donate to Me
More
Instuctions to get FM Radio on Droid2

1. Droid2 must be rooted. Remount the /system to RW

2. Unzip the archive, and use abd push to put the files in the appropriate folders.
cd system

a. adb push app/FMRadio.apk /system/app
b. adb push app/FMRadioService.apk /system/app
c. adb push bin/fmradioserver /system/bin
d. adb push lib/libFMRadio.so /system/lib
e. adb push lib/libfmradio_jni.so /system/lib
f. adb push lib/libfmradioplayer.so /system/lib

3. Remount /system to ro
4. Plug in headphones.
5. Run FMradio
6 ???
7. Profit!

For me, I live in a crappy radio area, so I was only able to pick up 2 stations. YMMV.

As always I will not be responsible for any damage, pregnancies, or missing items from your home.

Thanks!

Slayher
The Following 3 Users Say Thank You to slayher For This Useful Post: [ View ]
31st August 2010, 04:14 AM   |  #2  
OP Senior Member
Thanks Meter: 840
 
211 posts
Join Date:Joined: Mar 2010
Donate to Me
More
Forgot the Link
Forgot the link..
LINKS! URL -> android.antbox.org/slayher/FMRadio_droid2.zip
The Following User Says Thank You to slayher For This Useful Post: [ View ]
31st August 2010, 04:58 AM   |  #3  
Senior Member
Flag PDX
Thanks Meter: 70
 
598 posts
Join Date:Joined: Jul 2009
Where did these files come from?
31st August 2010, 05:20 AM   |  #4  
OP Senior Member
Thanks Meter: 840
 
211 posts
Join Date:Joined: Mar 2010
Donate to Me
More
Quote:
Originally Posted by karnovaran

Where did these files come from?

Some are already there, some from droidx
31st August 2010, 05:49 AM   |  #5  
Senior Member
Flag PDX
Thanks Meter: 70
 
598 posts
Join Date:Joined: Jul 2009
I've tried to run it multiple times and rebooted, but it just says "FM Radio is being launched, please wait..."
31st August 2010, 06:02 AM   |  #6  
OP Senior Member
Thanks Meter: 840
 
211 posts
Join Date:Joined: Mar 2010
Donate to Me
More
Quote:
Originally Posted by karnovaran

I've tried to run it multiple times and rebooted, but it just says "FM Radio is being launched, please wait..."

get a logcat

It sounds like either a permission issue, or one of the files didnt get pushed
31st August 2010, 06:08 AM   |  #7  
Senior Member
Flag PDX
Thanks Meter: 70
 
598 posts
Join Date:Joined: Jul 2009
Quote:
Originally Posted by slayher

get a logcat

It sounds like either a permission issue, or one of the files didnt get pushed

Code:
roid.intent.action.HEADSET_PLUG
08-31 00:07:08.619  2097  2097 D JAVA:FMRadioPlayerService: HEADSET is pluged in
/out.
08-31 00:07:08.627  2097  2097 V JAVA:FMRadioPlayerService: handleMessage headse
t plug begin
08-31 00:07:08.627  2097  2097 V JAVA:FMRadioPlayerService: mHeadset = 1
08-31 00:07:08.627  2097  2097 V JAVA:FMRadioPlayerService: mIsHeadsetPlugged =
true
08-31 00:07:08.635  2097  2097 W JAVA:FMRadioPlayerService: Headset is pluged in
!
08-31 00:07:08.658  2090  2090 D FMRadioMain: Leave getDataFromDB()
08-31 00:07:08.666  2090  2090 D FMRadioMain: leave updateListView()
08-31 00:07:08.666  2090  2090 D FMRadioMain: onStart() called
08-31 00:07:08.666  2090  2090 W FMRadioMain: onServiceConnected::fmradio java s
ervice started
08-31 00:07:08.674  2097  2101 W JAVA:FMRadioPlayerService: IFMRadioPlayerServic
e.Stub : isPowerOn
08-31 00:07:08.674  2097  2101 D JAVA:FMRadioPlayerService: FMStateUNInit:isPowe
rOn(), return misPowerOn value to UI
08-31 00:07:08.791  2090  2090 W FMRadioMain: servie is ready popup a wait dialo
g
08-31 00:07:08.791  2090  2090 D FMDataProvider: set channel table: FM_Radio
08-31 00:07:08.807  2097  2097 D JAVA:FMRadioPlayerService: Received intent: com
.motorola.fmradio.bindservice.succeed
08-31 00:07:08.807  2097  2097 D JAVA:FMRadioPlayerService: bind service succeed

08-31 00:07:08.807  2097  2097 W JAVA:FMRadioPlayerService: Notice home to show
update current preset name on the notice bar.
08-31 00:07:08.830  2934  2934 E FMRadioService: onCreate() called***
08-31 00:07:08.853  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =0
08-31 00:07:08.861  2934  2934 V FMRadioService: onBind***
08-31 00:07:08.861  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.869  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =1
08-31 00:07:08.877  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.877  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =2
08-31 00:07:08.877  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.885  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =3
08-31 00:07:08.885  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.892  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =4
08-31 00:07:08.892  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.892  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =5
08-31 00:07:08.892  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.892  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =6
08-31 00:07:08.892  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.900  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =7
08-31 00:07:08.900  2934  2934 I FMRadio_Logs:  Enter JNI_OnLoad.....
08-31 00:07:08.900  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.900  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =8
08-31 00:07:08.900  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.908  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =9
08-31 00:07:08.908  2934  2934 D FMRadioPlayer: Looper = Looper.myLooper()!
08-31 00:07:08.916  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.916  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =10
08-31 00:07:08.924  2934  2934 I FMRadio_Logs: IN JNI fmradio_native_setup
08-31 00:07:08.924  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:08.924  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.924  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =11
08-31 00:07:08.924  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.924  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =0
08-31 00:07:08.932  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.932  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =1
08-31 00:07:08.932  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.939  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =2
08-31 00:07:08.939  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.939  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =3
08-31 00:07:08.939  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.939  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =4
08-31 00:07:08.947  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.947  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =5
08-31 00:07:08.955  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.955  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =6
08-31 00:07:08.955  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.978  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =0
08-31 00:07:08.978  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.978  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =1
08-31 00:07:08.978  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.986  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =2
08-31 00:07:09.002  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.002  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =3
08-31 00:07:09.018  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.018  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =4
08-31 00:07:09.033  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.033  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =5
08-31 00:07:09.041  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.064  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =0
08-31 00:07:09.072  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.080  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =1
08-31 00:07:09.080  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.080  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =2
08-31 00:07:09.080  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.080  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =3
08-31 00:07:09.080  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.080  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =4
08-31 00:07:09.080  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.080  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =5
08-31 00:07:09.080  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.088  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =6
08-31 00:07:09.088  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.088  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =7
08-31 00:07:09.096  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.096  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =8
08-31 00:07:09.096  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.096  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =9
08-31 00:07:09.096  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.096  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =10
08-31 00:07:09.096  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.096  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =11
08-31 00:07:09.096  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.103  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =0
08-31 00:07:09.111  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.111  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =1
08-31 00:07:09.111  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.111  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =2
08-31 00:07:09.111  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.111  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =3
08-31 00:07:09.111  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.111  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =4
08-31 00:07:09.119  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.119  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =5
08-31 00:07:09.119  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.127  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =6
08-31 00:07:09.127  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.189  2090  2090 D FMRadioMain ChannelListView: call onDraw
08-31 00:07:09.221  1243  1265 I ActivityManager: Displayed activity com.motorol
a.fmradio/.FMRadioMain: 816 ms (total 12066 ms)
08-31 00:07:09.924  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:10.088  2090  2090 D FMRadioMain ChannelListView: call onDraw
08-31 00:07:10.119  2090  2090 D FMRadioMain ChannelListView: call onDraw
08-31 00:07:10.135  2090  2090 D FMRadioMain ChannelListView: call onDraw
08-31 00:07:10.150  2090  2090 D FMRadioMain ChannelListView: call onDraw
08-31 00:07:10.166  2090  2090 D FMRadioMain ChannelListView: call onDraw
08-31 00:07:10.182  2090  2090 D FMRadioMain ChannelListView: call onDraw
08-31 00:07:10.197  2090  2090 D FMRadioMain ChannelListView: call onDraw
08-31 00:07:10.213  2090  2090 D FMRadioMain ChannelListView: call onDraw
08-31 00:07:10.229  2090  2090 D FMRadioMain ChannelListView: call onDraw
08-31 00:07:10.244  2090  2090 D FMRadioMain ChannelListView: call onDraw
08-31 00:07:10.260  2090  2090 D FMRadioMain ChannelListView: call onDraw
08-31 00:07:10.275  2090  2090 D FMRadioMain ChannelListView: call onDraw
08-31 00:07:10.291  2090  2090 D FMRadioMain ChannelListView: call onDraw
08-31 00:07:10.924  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:11.925  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:12.931  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:13.932  2934  2934 W FMRadio_Logs: FMRadioStackService not published
, waiting...
08-31 00:07:14.433  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:15.434  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:16.018  1602  1602 D dalvikvm: GC_EXPLICIT freed 897 objects / 53672
 bytes in 77ms
08-31 00:07:16.432  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:17.435  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:18.436  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:19.435  2934  2934 W FMRadio_Logs: FMRadioStackService not published
, waiting...
08-31 00:07:19.939  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:20.939  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:21.197  1888  1888 D dalvikvm: GC_EXPLICIT freed 3330 objects / 1989
76 bytes in 111ms
08-31 00:07:21.943  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:22.941  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:23.940  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:24.946  2934  2934 W FMRadio_Logs: FMRadioStackService not published
, waiting...
08-31 00:07:25.440  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:26.252  1365  1365 D dalvikvm: GC_EXPLICIT freed 287 objects / 13912
 bytes in 73ms
08-31 00:07:26.448  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:27.449  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:28.450  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:28.786  1243  1255 W ActivityManager: Timeout executing service: Ser
viceRecord{45ce3bc0 com.motorola.android.fmradio/.FMRadioService}
08-31 00:07:28.791  1243  1255 I Process : Sending signal. PID: 2934 SIG: 9
08-31 00:07:28.799  1243  1382 I ActivityManager: Process com.motorola.android.f
mradio (pid 2934) has died.
08-31 00:07:28.799  1243  1382 W ActivityManager: Scheduling restart of crashed
service com.motorola.android.fmradio/.FMRadioService in 5000ms
08-31 00:07:31.275  1402  1402 D dalvikvm: GC_EXPLICIT freed 820 objects / 89352
 bytes in 94ms
08-31 00:07:33.807  1243  1255 I ActivityManager: Start proc com.motorola.androi
d.fmradio for service com.motorola.android.fmradio/.FMRadioService: pid=2945 uid
=1000 gids={3003, 3002, 3001, 1015, 2001}
08-31 00:07:33.900  2945  2945 E FMRadioService: onCreate() called***
08-31 00:07:33.900  2945  2945 V FMRadioService: onBind***
08-31 00:07:33.908  2945  2945 I FMRadio_Logs:  Enter JNI_OnLoad.....
08-31 00:07:33.908  2945  2945 D FMRadioPlayer: Looper = Looper.myLooper()!
08-31 00:07:33.908  2945  2945 I FMRadio_Logs: IN JNI fmradio_native_setup
08-31 00:07:33.908  2945  2945 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:34.908  2945  2945 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:35.913  2945  2945 I ServiceManager: Waiting for sevice fmradio.stac
k...
^C
C:\android-sdk-windows\android-sdk-windows\tools>
31st August 2010, 06:26 AM   |  #8  
OP Senior Member
Thanks Meter: 840
 
211 posts
Join Date:Joined: Mar 2010
Donate to Me
More
Either the permissions are wrong, or you didnt copy the fmradioserver to /system/bin
31st August 2010, 06:35 AM   |  #9  
Senior Member
Flag PDX
Thanks Meter: 70
 
598 posts
Join Date:Joined: Jul 2009
I copied everything just fine. Do you have a suggestion regarding the permissions?
31st August 2010, 06:54 AM   |  #10  
Senior Member
Thanks Meter: 1
 
410 posts
Join Date:Joined: Jan 2009
More
Someone should add to the instructions to make the permissions of the files that go into system/lib 644, and the file that goes into system/bin should be 755.

I just used the other lib files and binary files in the related folders as examples. People who are new to linux environments don't know much about permissions, so its always good to post for the new guys to understand as well.
Last edited by facelessuser; 31st August 2010 at 05:05 PM. Reason: typos

Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes