UNPKG

react-native-fast-tflite

Version:

High-performance TensorFlow Lite library for React Native

32 lines (31 loc) 1.41 kB
import { AndroidConfig, withAndroidManifest, } from '@expo/config-plugins'; import { prefixAndroidKeys, } from '@expo/config-plugins/build/android/Manifest'; function addUsesNativeLibraryItemToMainApplication(mainApplication, item) { let existingMetaDataItem; const newItem = { $: prefixAndroidKeys(item), }; if (mainApplication['uses-native-library'] !== undefined) { existingMetaDataItem = mainApplication['uses-native-library'].filter((e) => e.$['android:name'] === item.name); if (existingMetaDataItem.length > 0 && existingMetaDataItem[0] !== undefined) existingMetaDataItem[0].$ = newItem.$; else mainApplication['uses-native-library'].push(newItem); } else { mainApplication['uses-native-library'] = [newItem]; } return mainApplication; } export const withAndroidGpuLibraries = (cfg, enabledLibraries) => withAndroidManifest(cfg, (config) => { const mainApplication = AndroidConfig.Manifest.getMainApplicationOrThrow(config.modResults); const gpuLibraries = [{ name: 'libOpenCL.so', required: false }]; if (Array.isArray(enabledLibraries)) { gpuLibraries.push(...enabledLibraries.map((lib) => ({ name: lib, required: false }))); } gpuLibraries.forEach((lib) => { addUsesNativeLibraryItemToMainApplication(mainApplication, lib); }); return config; });