callstack / callstack/react-native-draco
Android module is the create-react-native-library stub — Draco decode is unimplemented on Android
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- C++
- Estrelas
- 10
- Forks
- 0
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
Environment
@callstack/react-native-draco 0.3.0
React Native 0.86.0, new architecture
Expo SDK 57
iOS: works. Android: unimplemented.
Description
android/src/main/java/com/draco/DracoModule.kt is still the create-react-native-library template: its one method is the example multiply(a, b). There's no Draco decode on Android — the iOS side (cpp/ + ios/) is fully implemented, but an app that installs this package gets working Draco on iOS and a no-op on Android. codegenConfig.outputDir also targets iOS only.
On RN 0.86 new arch we additionally saw the Android build fail on NativeDracoSpec codegen for any app that merely has the package installed, even without calling it.
Suggested fix: an Android JSI implementation mirroring the iOS one (I may attempt this), or, until then, a clear "iOS only" note in the README plus the autolinking exclusion below so Android builds don't break on install.
Reproducible Demo
- Add
@callstack/react-native-dracoto any RN 0.86 new-arch Android app and build — codegen fails onNativeDracoSpec. - Or just read
android/src/main/java/com/draco/DracoModule.kt: the only implemented method ismultiply(a, b), so decode is a no-op on Android.
Workaround we ship — exclude it from Android autolinking so models fail with a JS error instead of breaking the build:
// react-native.config.js
module.exports = {
dependencies: {
'@callstack/react-native-draco': { platforms: { android: null } },
},
};
Transparency note: this issue was drafted with AI assistance. I'm a human, I've personally verified the bug and the workaround, and I'm happy to answer any questions or concerns directly. Thanks for the library.
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Direção de pesquisa
Comece por android/src/main/java/com/draco/DracoModule.kt e compare seu método template com os caminhos implementados em cpp/ e ios/. Reproduza a falha de build do Android do React Native 0.86 new-architecture e inspecione a configuração de codegen do NativeDracoSpec. Antes de prosseguir, estabeleça se o escopo é a decodificação no Android, uma alteração de documentação/workaround exclusiva para iOS ou ambos; considera-se concluído quando o escopo selecionado estiver verificado no Android.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- android, cpp, kotlin, react-native
- Domínio
- build-system, mobile
- Tipo de issue
- Bug
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Status de atividade
- Pouca atividade
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 35/100