К сожалению, на codenameone нет бесплатной документации о том, как выполнять локальные сборки, и на самом деле я не смог найти в Интернете никаких инструкций о том, как это сделать (в сообщении в блоге я нашел только некоторые базовые и устаревшие инструкции о том, как это сделать). выполнить локальную сборку iOS, но ничего для Android). Так что мне пришлось разобраться в этом самому...
После некоторого времени, потраченного на изучение параметров конфигурации gradle, мне наконец удалось создать локальное базовое приложение под кодовым названием, которое работает на моем тестовом устройстве Android. Но проблема в том, что когда я добавляю внешнюю библиотеку cn1lib (родная версия cn1lib для Google Maps https://github.com/codenameone/codenameone-google-maps), в моем приложении возникает ошибка при открытии экрана, который зависит от этой библиотеки.
В журнале ошибок Android я нашел следующее сообщение:
Код: Выделить всё
D/MyApplication( 551): [EDT] 0:0:0,99 - Exception: java.lang.ClassCastException - com.codename1.googlemaps.InternalNativeMapsImpl cannot be cast to com.codename1.system.NativeInterface
W/System.err( 551): java.lang.ClassCastException: com.codename1.googlemaps.InternalNativeMapsImpl cannot be cast to com.codename1.system.NativeInterface
W/System.err( 551): at com.codename1.system.NativeLookup.create(Unknown Source)
W/System.err( 551): at com.codename1.googlemaps.MapContainer.(MapContainer.java:171)
W/System.err( 551): at com.codename1.googlemaps.MapContainer.(MapContainer.java:151)
W/System.err( 551): at com.tbdlab.testapp.MyApplication.start(MyApplication.java:207)
W/System.err( 551): at com.tbdlab.testapp.MyApplicationStub.run(MyApplicationStub.java:183)
W/System.err( 551): at com.codename1.ui.Display.processSerialCalls(Unknown Source)
W/System.err( 551): at com.codename1.ui.Display.mainEDTLoop(Unknown Source)
W/System.err( 551): at com.codename1.ui.RunnableWrapper.run(Unknown Source)
W/System.err( 551): at com.codename1.impl.CodenameOneThread$1.run(Unknown Source)
W/System.err( 551): at java.lang.Thread.run(Thread.java:818)
Код: Выделить всё
com.codename1.system.NativeInterface
Итак, кто-нибудь уже преуспел в создании локальной сборки с использованием cn1lib, который выполняет собственные привязки? Если да, то какова точная процедура?
Я очень надеюсь, что кто-нибудь сможет помочь, потому что на данный момент я серьезно подумываю о том, чтобы придерживаться React-native (чем я вполне доволен, за исключением того факта, что он не полностью нативный) или прыгайте во флаттер (или нативный Kotlin), даже если я все еще думаю, что codenameone предлагает много преимуществ перед этими другими решениями (но невозможность выполнять локальные сборки на этапе разработки для меня просто невозможна)
Подробнее здесь: https://stackoverflow.com/questions/492 ... roid-build