List of Bugs Android Oreo on HiKey Board

On August 25, 2017 I have downloaded and compiled the AOSP sources as explained on https://source.android.com/source/devices#hikey-boards

The included kernel version is
adb shell uname -a yields
Linux localhost 4.9.39-g5bc470574a05 #1 SMP PREEMPT Wed Jul 26 17:36:38 UTC 2017 aarch64

There have been a number of bugs in Android O I was hoping would be fixed before an official release of Android 8.0 on hikey board, but the bugs persist. I’m opening this thread in the hope that we can fix these bugs or someone point me to the official hikey board bug tracker.

  1. Bug: Runtimeexpception when I run dpm set-device-owner
adb root
adb shell dpm set-device-owner com.my.package/.DeviceOwnerReceiver
java.lang.RuntimeException: Can't set package ComponentInfo{com.my.package/com.my.package.DeviceOwnerReceiver} as device owner.
        at com.android.commands.dpm.Dpm.runSetDeviceOwner(Dpm.java:149)
        at com.android.commands.dpm.Dpm.onRun(Dpm.java:96)
        at com.android.internal.os.BaseCommand.run(BaseCommand.java:54)
        at com.android.commands.dpm.Dpm.main(Dpm.java:41)
        at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
        at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:284)

On the DB410c on Android 5.1.1 and Android 6 the same procedure works. Unfortunately, the error message is not very helpful. Has anyone tried to run the hikey board in kiosk mode?

  1. the second bug concerns the virtual keyboard.
    When you click on the ?123 button on the bottom left, the soft keyboard app crashes
W/InputMethodManager: IME died: com.android.inputmethod.latin/.LatinIME
android.os.DeadObjectException
at android.os.BinderProxy.transactNative(Native Method)
at android.os.BinderProxy.transact(Binder.java:748)
at com.android.internal.view.IInputMethodSession$Stub$Proxy.updateSelection(IInputMethodSession.java:220)
at android.view.inputmethod.InputMethodManager.updateSelection(InputMethodManager.java:1616)
at android.widget.Editor.sendUpdateSelection(Editor.java:1626)
at android.widget.Editor.finishBatchEdit(Editor.java:1471)
at android.widget.Editor.endBatchEdit(Editor.java:1445)
at android.widget.TextView.endBatchEdit(TextView.java:7686)
at com.android.internal.widget.EditableInputConnection.endBatchEdit(EditableInputConnection.java:78)
at android.view.inputmethod.BaseInputConnection.finishComposingText(BaseInputConnection.java:442)
at android.view.inputmethod.BaseInputConnection.closeConnection(BaseInputConnection.java:161)
at com.android.internal.widget.EditableInputConnection.closeConnection(EditableInputConnection.java:88)
at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:541)
at com.android.internal.view.IInputConnectionWrapper.dispatchMessage(IInputConnectionWrapper.java:225)
at com.android.internal.view.IInputConnectionWrapper.closeConnection(IInputConnectionWrapper.java:211)
at android.view.inputmethod.InputMethodManager$ControlledInputConnectionWrapper.deactivate(InputMethodManager.java:568)
at android.view.inputmethod.InputMethodManager.startInputInner(InputMethodManager.java:1262)
at android.view.inputmethod.InputMethodManager$H.handleMessage(InputMethodManager.java:506)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6510)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
  1. the third bug concerns USB
    I have connected a USB touch device to the hikey board. However, if I don’t click anything after reboot, the USB connection seems to get lost and subsequent touch events are ignored.
    Unplugging the USB cable helps, but is not feasible for production use.

Where should I report these issues and is it realistic that these issues might get resolved in the upcoming month?

thanks for reporting, but its better to report it at bugs.96boards.org where they can be tracked properly.

1 Like

Yes please open a new bug on bugs.96boards.org.

FYI I’ve tried to reproduce the issues with the Hikey960 (without analysis for now):
1/ behavior reproducible on hikey-960/Android-O
2/ Not reproduciblae on hikey-960/Android-O
3/ Not reproduciblae on hikey-960/Android-O (dmesg output could help here)

For 1/ I have filed a bug report on https://bugs.96boards.org/show_bug.cgi?id=577

Do you confirm 2/ and 3/ are Android-O specific ? not reproducible on N?

I have not tested Android N, so I can’t confirm.

For issue \1 (dpm set device-owner).

After having a look at the source code, seems the device_admin feature is missing.
You can check enabled features with the following command:
$ adb shell pm list features

If you don’t see feature:android.software.device_admin, this is the root cause of the problem.

I agree that the java runtime error is not explicit.
I think this is an issue in the hikey/hikey960 device repo, let me check why it is missing.

As temp workaround you can copy the feature file on the target:
$ adb root
$ adb remount
$ adb push aosp/frameworks/native/data/etc/android.software.device_admin.xml /system/etc/permissions/
$ adb reboot

Ok, great, thanks for pointing this out :slight_smile:

I have repo synced two hours ago and had another go at bugs 2/ and 3/.
Issue 2/ persists.

Additionally, there is a bug 4/ concerning playback of videos:

09-06 15:57:42.036 2014-2244/system_process I/ActivityManager: START u0 {act=android.intent.action.VIEW dat=content://com.android.providers.media.documents/document/video:212 typ=video/mp4 flg=0x1 cmp=com.android.gallery3d/.app.MovieActivity} from uid 10009
09-06 15:57:42.712 14978-14978/com.android.gallery3d W/MediaPlayer: Couldn't open content://com.android.providers.media.documents/document/video%3A212: java.io.IOException: setDataSourceFD failed.: status=0x80000000
09-06 15:57:42.713 2014-2026/system_process W/ActivityManager: Permission Denial: opening provider com.android.providers.media.MediaDocumentsProvider from (null) (pid=1925, uid=1013) requires that you obtain access using ACTION_OPEN_DOCUMENT or related APIs
                                                               
[ 09-06 15:57:42.714  1925:16429 D/         ]
openContentUri(content://com.android.providers.media.documents/document/video%3A212) caught exception -1
09-06 15:57:42.714 1925-16429/? E/MediaPlayerService: Couldn't open fd for content://com.android.providers.media.documents/document/video%3A212
09-06 15:57:42.715 14978-14978/com.android.gallery3d W/VideoView: Unable to open content: content://com.android.providers.media.documents/document/video%3A212
java.io.IOException: setDataSource failed.: status=0x80000000
at android.media.MediaPlayer.nativeSetDataSource(Native Method)
at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1153)
at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1141)
at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1059)
at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1080)
at android.widget.VideoView.openVideo(VideoView.java:399)
at android.widget.VideoView.access$2200(VideoView.java:81)
at android.widget.VideoView$7.surfaceCreated(VideoView.java:678)
at android.view.SurfaceView.updateSurface(SurfaceView.java:664)
at android.view.SurfaceView.setVisibility(SurfaceView.java:265)
at com.android.gallery3d.app.MoviePlayer$5.run(MoviePlayer.java:174)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6510)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
09-06 15:57:42.715 14978-14978/com.android.gallery3d D/VideoView: Error: 1,0

I’ll post the bug on the bugtracker.