Closed pamir72 closed 8 months ago
same too, any news?
same here
i had temporary solution which helped me. i wrapped with try catch
import com.yandex.mapkit.MapKitFactory
import io.flutter.embedding.android.FlutterFragmentActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugins.GeneratedPluginRegistrant
class MainActivity : FlutterFragmentActivity() {
override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
try {
MapKitFactory.setApiKey("")
} catch (e: AssertionError) {
}
GeneratedPluginRegistrant.registerWith(flutterEngine)
}
}
Спасибо, добрый человек ! Вроде как работает !
в документации яндекса для андроид написано делать setApiKey в Application. вынес в Application.onCreate и краши прекратились
Не поделитесь со всеми ?
https://yandex.ru/dev/mapkit/doc/ru/android/quickstart#setup
class App : FlutterApplication() {
private val yandexApiKey = if (BuildConfig.DEBUG)
"debug key"
else
"release key"
override fun onCreate() {
MapKitFactory.setApiKey(yandexApiKey)
super.onCreate()
}
}
upd: у яндекса какие-то нестабильные адреса документации https://yandex.ru/dev/mapkit/doc/ru/android/generated/getting_started#provide-key
В общем, есть 2 рабочих варианта решения проблемы: 1) В MainActivity : https://github.com/Unact/yandex_mapkit/issues/321#issuecomment-1698622003 2) Во FlutterApplication : https://github.com/Unact/yandex_mapkit/issues/321#issuecomment-1700820245 Во 2м варианте не забыть изменить android:name в AndroidManifest.xm
Закрываю Issue.
try catch не помогает. Все равно в Firebase сыпет ошибку. А где найти FlutterApplication, я не понимаю. В OnCreate у MainActivity не срабатывает. А в проекте флаттера я не вижу, где у нас FlutterApplication.
Не подскажете, как именно добавлять FlutterApplication в проекте Flutter исходя из этого ответа https://github.com/Unact/yandex_mapkit/issues/321#issuecomment-1700820245?
у вас ОДИН единственный Application на всё флаттер приложение:/ ищите в android/app/src/
После обновления до 3.3.0 ексепшн "java.lang.AssertionError: setApiKey() should be called before initialize()" теперь появляется и на релизе. До 3.3.0 это было только в debug. См. закрытые топики #271 and #206. Яндекс не рекомендует вставлять MapKitFactory.setApiKey("Your API key") в MainActivity, а рекомендует это делать в onCreate Application. Подскажите пожалуйста, кто-нибудь уже решал успешно данную проблему во flutter ?