Open stuartmorgan opened 1 month ago
I would encourage you to use the bytecode .jar
of exoplayer instead of .java
sources. The doclet parser used to parse Java sources does not work with "incomplete" sources. The only reason I didn't remove it yet is because it is useful for adding documentation and parameter names to the generated bindings.
I plan to parse the javadoc jar and extract the docs from that instead, once that's done I'll remove the source parser altogether: https://github.com/dart-lang/native/issues/1079
In the meantime it's useful to improve the error messages here.
I would encourage you to use the bytecode
.jar
of exoplayer instead of.java
sources.
How? I'm not intentionally using either, I'm just pointing to my plug-in source and requesting auto-addition of its build dependencies, following this example.
Am I responsible for manually configuring the import of all dependencies in this scenario? I thought that's what the example/
build was supposed to do for me.
You can add the exoplayer dependency to the app/build.gradle
of your example like https://github.com/dart-lang/http/blob/master/pkgs/cronet_http/example/android/app/build.gradle#L75-L78
build the example app using flutter build apk
for gradle to download and cache the dependencies. And only fill in classes:
. No need to add any source_path
.
Am I responsible for manually configuring the import of all dependencies in this scenario? I thought that's what the
example/
build was supposed to do for me.
The two parsers – doclet for source, and ASM for bytecode unfortunately do not complete one another. The source should be complete in order for doclet to work and that is one of the reasons I plan on removing it completely.
You can add the exoplayer dependency to the
app/build.gradle
of your example
Is there an issue tracking the need to duplicate all dependency information from a plugin into the example app just for jnigen
?
No need to add any
source_path
.
Should I file a new issue about the fact that the example that the README points to for exactly my scenario is using source_path
?
Is there an issue tracking the need to duplicate all dependency information from a plugin into the example app just for
jnigen
?
There is an umbrella issue which includes this: https://github.com/dart-lang/native/issues/793#issuecomment-2118525810
Should I file a new issue about the fact that the example that the README points to for exactly my scenario is using
source_path
?
I can use this issue for that, thank you.
I'm trying to set up an initial
jnigen
of thevideo_player_android
plugin to incrementally convert the existing native implementation, and it can't seem to find any of the ExoPlayer (media3) code:This is running in the plugin, after doing the example app built, the plugin depends on
androidx.media3:media3-exoplayer
via gradle, and my config includesadd_gradle_deps: true
, so I would expect it to find these symbols.It's not clear to me why it's not, or what my next step as a user would be here.