В мае 2018 года Codename One был переведен на Android API Level 27. Ранее я загружал в магазин версию 0.1 приложения, созданного с Codename One, с Android API Level 23 (это было по умолчанию).
Google вынуждает всех своих разработчиков обновить приложения до более нового API до 1 ноября 2018 года, поэтому я несколько дней назад отправил в магазин то же самое приложение, без каких-либо изменений кода, созданное с последней версиейCodename One.
Сегодня я получил следующий отчет о защите от сбоев. Мой вопрос помогает понять все предупреждения и java.lang.SecurityException
.Мое приложение не требует никаких специальных разрешений и не запрашивает разрешения у пользователя во время работы (это очень простое приложение).До обновления приложения до уровня API 27 я никогда не получал эти предупреждения и это исключение.
[EDT] 0:0:0,1 - Codename One revisions: 38629bb7dc1724677b602b7cf175bee9bf0d67c8
[EDT] 0:0:0,4 - WARNING: Theme sets the commandBehavior constant which is deprecated. Please update the theme to NOT include this theme constant. Using commandBehavior may cause your app to perform in unexpected ways. In particular, using SIDE command behavior in conjunction with Toolbar.setOnTopSideMenu(true) may result in runtime exceptions.
[EDT] 0:0:0,6 - WARNING: Display.setCommandBehavior() is deprecated, Using it may result in unexpected behaviour. In particular, using COMMAND_BEHAVIOR_SIDE_NAVIGATION in conjunction with Toolbar.setOnTopSideMenu(true) may result in runtime errors.
[EDT] 0:0:0,11 - STARTING of the app "Giorno per giorno" version 0.2
[EDT] 0:0:0,12 - Platform: Unknown
[EDT] 0:0:0,13 - Platform Name: and
[EDT] 0:0:0,15 - OS: Android
[EDT] 0:0:0,17 - OS Version: 8.0.0
[EDT] 0:0:0,19 - Display Width: 1080
[EDT] 0:0:0,20 - Display Height: 2150
[EDT] 0:0:0,22 - Device density: DENSITY_HD
[EDT] 0:0:0,23 - mese: 10
[EDT] 0:0:0,24 - giorno del mese: 19
[EDT] 0:0:0,36 - I'm trying to open the file /giorno-293.txt
[EDT] 0:0:0,38 - File opened successfully
[EDT] 0:0:0,38 - isNativeShareSupported: true
[EDT] 0:0:0,874 - Exception: java.lang.SecurityException - Permission Denial: starting Intent { act=android.intent.action.MAIN flg=0x10400000 cmp=com.huawei.android.launcher/.powersavemode.PowerSaveModeLauncher (has extras) } from ProcessRecord{e69f9b7 13566:cloud.amoremio.app.daybyday/u0a110} (pid=13566, uid=10110) not exported from uid 10072
java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN flg=0x10400000 cmp=com.huawei.android.launcher/.powersavemode.PowerSaveModeLauncher (has extras) } from ProcessRecord{e69f9b7 13566:cloud.amoremio.app.daybyday/u0a110} (pid=13566, uid=10110) not exported from uid 10072
at android.os.Parcel.readException(Parcel.java:1946)
at android.os.Parcel.readException(Parcel.java:1892)
at android.app.IActivityManager$Stub$Proxy.startActivity(IActivityManager.java:4373)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1631)
at android.app.Activity.startActivityForResult(Activity.java:4751)
at android.app.Activity.startActivityForResult(Activity.java:4691)
at com.codename1.impl.android.CodenameOneActivity.startActivityForResult(CodenameOneActivity.java:576)
at android.app.Activity.startActivity(Activity.java:5112)
at android.app.Activity.startActivity(Activity.java:5080)
at com.codename1.impl.android.CodenameOneActivity.startActivity(CodenameOneActivity.java:590)
at com.codename1.impl.android.d.W(AndroidImplementation.java:1311)
at com.codename1.s.q.o(Display.java:1546)
at com.codename1.s.ab.c(MenuBar.java:1413)
at com.codename1.s.aj.c(SideMenuBar.java:704)
at com.codename1.s.u.c(Form.java:2748)
at com.codename1.s.q.a(Display.java:2015)
at com.codename1.s.q.j(Display.java:1043)
at com.codename1.s.q.i(Display.java:961)
at com.codename1.s.ai.run(RunnableWrapper.java:120)
at com.codename1.impl.b$1.run(CodenameOneThread.java:60)
at java.lang.Thread.run(Thread.java:784)
[EDT] 0:0:0,877 - Exception in Giorno per giorno version 0.2
[EDT] 0:0:0,877 - OS and
[EDT] 0:0:0,878 - Error java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN flg=0x10400000 cmp=com.huawei.android.launcher/.powersavemode.PowerSaveModeLauncher (has extras) } from ProcessRecord{e69f9b7 13566:cloud.amoremio.app.daybyday/u0a110} (pid=13566, uid=10110) not exported from uid 10072
[EDT] 0:0:0,878 - Current Form null
[EDT] 0:0:0,879 - Exception: java.lang.SecurityException - Permission Denial: starting Intent { act=android.intent.action.MAIN flg=0x10400000 cmp=com.huawei.android.launcher/.powersavemode.PowerSaveModeLauncher (has extras) } from ProcessRecord{e69f9b7 13566:cloud.amoremio.app.daybyday/u0a110} (pid=13566, uid=10110) not exported from uid 10072
java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN flg=0x10400000 cmp=com.huawei.android.launcher/.powersavemode.PowerSaveModeLauncher (has extras) } from ProcessRecord{e69f9b7 13566:cloud.amoremio.app.daybyday/u0a110} (pid=13566, uid=10110) not exported from uid 10072
at android.os.Parcel.readException(Parcel.java:1946)
at android.os.Parcel.readException(Parcel.java:1892)
at android.app.IActivityManager$Stub$Proxy.startActivity(IActivityManager.java:4373)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1631)
at android.app.Activity.startActivityForResult(Activity.java:4751)
at android.app.Activity.startActivityForResult(Activity.java:4691)
at com.codename1.impl.android.CodenameOneActivity.startActivityForResult(CodenameOneActivity.java:576)
at android.app.Activity.startActivity(Activity.java:5112)
at android.app.Activity.startActivity(Activity.java:5080)
at com.codename1.impl.android.CodenameOneActivity.startActivity(CodenameOneActivity.java:590)
at com.codename1.impl.android.d.W(AndroidImplementation.java:1311)
at com.codename1.s.q.o(Display.java:1546)
at com.codename1.s.ab.c(MenuBar.java:1413)
at com.codename1.s.aj.c(SideMenuBar.java:704)
at com.codename1.s.u.c(Form.java:2748)
at com.codename1.s.q.a(Display.java:2015)
at com.codename1.s.q.j(Display.java:1043)
at com.codename1.s.q.i(Display.java:961)
at com.codename1.s.ai.run(RunnableWrapper.java:120)
at com.codename1.impl.b$1.run(CodenameOneThread.java:60)
at java.lang.Thread.run(Thread.java:784)