react-native-system-notification NativeModule 在 apk 版本上未定义

react-native-system-notification NativeModule is undefined on apk release

我正在处理这个应用程序项目,我需要根据预定义文本列表安排通知。在我的开发环境中一切正常,但是当我构建 APK 版本时,它们将无法工作。进一步调试我发现通知是一个 NativeModule,它在发布时变成 undefined

此 returns 模块属性 react-native run-androidundefined 在版本中:

console.log(React.NativeModules.NotificationModule);

这是导致我出现的实际错误:

Notification
  .create({ attrs })
  .then((n) => console.log('Notification', n)
  .catch((err) => console.log(err);

打印:

{ [TypeError: undefined is not an object (evaluating 'd.rGetApplicationName')] line: 670  column: 2663, sourceURL: 'index.android.bundle' }

我正在使用 react-native-system-notification,据我所知,这是一个与 removes the GCM requirement.

无关的修改

有这个 issue 但该项目自 8 月以来似乎不活跃,问题是从 4 月开始的。

那么,我还应该在哪里寻找解决这个问题的方法?

我研究了他们的来源——看起来不错。几乎感觉像是您这边的配置错误。非常仔细地完成他们的安装步骤,并在 ./gradlew assembleRelease 的输出中,确保你在输出中看到它 compiled/linked。另外,请确保您的 React Native 版本是最新的。

我在发布时禁用了混淆器,通知开始工作了!不知道如何防止 proguard 弄乱包,但它只节省了 1Mb,所以我对这个解决方案很满意。

def enableProguardInReleaseBuilds = false

android/app/build.gradle