callstack / callstack/react-native-draco

Android module is the create-react-native-library stub — Draco decode is unimplemented on Android

Aberta
#4 0 comentários 0 reações 0 responsáveis Ver no GitHub

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

  1. Add @callstack/react-native-draco to any RN 0.86 new-arch Android app and build — codegen fails on NativeDracoSpec.
  2. Or just read android/src/main/java/com/draco/DracoModule.kt: the only implemented method is multiply(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

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. 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

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.