我正在开发这个应用项目,我需要根据预定义文本列表安排通知。在我的开发环境中一切正常,但是当我构建APK版本时,它们将无法正常工作。进一步调试我发现通知是一个NativeModule,它在发布时变为undefined
。
这将返回版本中react-native run-android
但undefined
的模块属性:
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月开始。
那么,我还应该在哪里寻找解决这个问题的方法呢?
答案 0 :(得分:0)
我挖掘了它们的来源 - 看起来不错。几乎感觉就像你的配置错误。仔细检查他们的安装步骤,并在./gradlew assembleRelease
的输出中,确保在输出中看到它已编译/链接。另外,请确保您的React Native版本是最新的。
答案 1 :(得分:0)
我已从发布中禁用了proguard,通知开始工作!不知道如何防止proguard弄乱包,但它只节省了1Mb,所以我很满意这个解决方案。
@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
}
}
def enableProguardInReleaseBuilds = false
中的