Wednesday, September 16, 2009

Donut ready

Google today released the SDK for Android 1.6 Donut.

Fortunately this time nothing in NewsRob had to be changed to make it compatible with the new release. So don't let NewsRob hold up your migration (as if) to Donut: I tested NewsRob 3.0.0 and it works fine.

I will wait some time for the vast majority of users to catch the new Android version before I release Donut specific functionality. Likely candidates for NewsRob are gestures as well as the participation in the system wide search.

Saturday, September 5, 2009

Broken Permissions Due To Rooting Your Phone

Hi,

instead of visiting this web page you would usually see a mail like the following popping up on your phone:

Sorry!

NewsRob hit a wall. Please send this mail, so that the developer can analyze/fix the issue.
If it is not too much to ask, please add to this mail what you just did:

-- Time: Fri Sep 04 18:35:37 GMT+01:00 2009
-- Android Version: sdk=3, release=1.5, inc=150275
-- Memory free: 0,51MB total: 3,07MB max: 16,00MB
-- NewsRob Version: 2.8.0/280
-- Stacktrace:(1516)
java.lang.RuntimeException: Unable to start receiver com.newsrob.WakeupAndSynchronizeReceiver: java.lang.SecurityException: Neither user 10085 nor current process has android.permission.WAKE_LOCK.
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2429)
at android.app.ActivityThread.access$2700(ActivityThread.java:112)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1753)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:3960)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.SecurityException: Neither user 10085 nor current process has android.permission.WAKE_LOCK.
at android.os.Parcel.readException(Parcel.java:1234)
at android.os.Parcel.readException(Parcel.java:1222)
at android.os.IPowerManager$Stub$Proxy.acquireWakeLock(IPowerManager.java:178)
at android.os.PowerManager$WakeLock.acquire(PowerManager.java:228)
at com.newsrob.SynchronizationService.acquireWakeLock(SynchronizationService.java:452)
at com.newsrob.WakeupAndSynchronizeReceiver.onReceive(WakeupAndSynchronizeReceiver.java:23)
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2420)
... 10 more

But as this now happens more than 30 times a week I have trouble keeping up with answering those "bug reports" in a timely fashion. Hence I created this explanation and you are now directed from within NewsRob to this page.

So here it goes. You have rooted your phone, probably moved your apps to the SD card. In the process the permissions that you initially granted to your apps have been broken.

You can now either wipe the phone, re-install the apps or run some magic script from your ROM provider to correct the permissions issue.


If you have further insights, share them in the comments.


Matt Zimmerman added:

"I had this problem, and fix_permissions did not fix it. The trouble was not with UNIX filesystem permissions (which is what fix_permissions tries to fix), but with Android security permissions.

I fixed it by re-installing the affected applications, including NewsRob: http://mdzlog.alcor.net/2010/01/31/fix-broken-android-permissions-by-re-installing-apps/"

Chris Haworth added:

"Current cyanogen rom, just go to terminal
emulator and hit enter then type fix_permissions and let that finish.
Then keep typing exit and enter til it exits you out."

I hope that helps!

Update: Please keep the comments on this particular article on topic. I will remove other comments as this page will stay the landing page for this single issue for some time and discussions of other NewsRob issues wouldn't be all that helpful.

You can go off-topic on any other article ;-)