2016-04-20 6 views
3

Meine allgemeine Frage: Ich baute eine native Komponente für react-native Android. Es hat eigene Abhängigkeiten und so. Ich befolgte Anweisungen, um die package.json zu bearbeiten, entfernte die Abhängigkeiten von react-native und teste nun das Paket. Gibt es etwas Spezielles, das man im Fall eines Pakets für reaktionsnative Systeme beachten sollte?Wie erstelle ich ein npm-Paket aus einem benutzerdefinierten reaktiven nativen Modul für Android?


Die Fehler/Warnungen erhalte ich:

Lassen Sie uns sagen, dass das Modul Ich baue wird react-native-mymodule genannt.

Befehle Ich lief:

npm $ installieren reagieren-native-mymodule $ rnpm Link reagieren-native-mymodule

Wenn react-native run-android ausgeführt wird, in dem Schritt :react-native-mymodule:bundleReleaseJsAndAssets es den folgenden Fehler führt:

module.js:341 
    throw err; 
    ^ 

Error: Cannot find module '/path/to/my/test/project/node_modules/react-native-mymodule/node_modules/react-native/local-cli/cli.js' 
    at Function.Module._resolveFilename (module.js:339:15) 
    at Function.Module._load (module.js:290:25) 
    at Function.Module.runMain (module.js:447:10) 
    at startup (node.js:146:18) 
    at node.js:404:3 
:react-native-mymodule:bundleReleaseJsAndAssets FAILED 

Bedeutet das, ich muss eine signierte APK für mein natives Modul generieren? Wenn ja, warum ist dies beim Erstellen eines nativen Moduls erforderlich?

ich zusätzlich die folgende Warnung viermal:

WARNING: Dependency test_project:react-native-mymodule:unspecified on project app resolves to an APK archive which is not supported as a compilation dependency. File: /path/to/my/test_project/node_modules/react-native-mymodule/android/app/build/outputs/apk/react-native-mymodule-release-unsigned.apk 

Meine Suche im Internet und in den reagieren-native Dokumente bisher nicht erfolgreich gewesen.

Antwort

2

Sie von anderen wie react-native-device-info nativer reagieren lernen kann, dann ist es eine der einfachsten react-native Bibliothek, die ich sehen kann, hat es nur build.gradle, AndroidManifest.xml und zwei Java-Klassen.

In Sie package.json, brauchen Sie nicht react-native in Abhängigkeiten, es ist nur in peerDependencies Abschnitt setzen, oder nicht enthalten es in Ihrem package.json Datei.

+0

Ich habe nicht die react-native Abhängigkeit, aber irgendwie will es nach '/ node_modules/react-native/local-cli/cli.js' suchen. Ich weiß nicht warum ... – Andru

+1

Können Sie Ihre 'build.gradle' Datei in Ihrem Modul zeigen? nur ein paar Zeilen über 'apply plugin:" com.android.xxx "'. Ich denke, Ihre Konfiguration ist "com.android.application", es ist nicht "com.android.library". –

+0

Ich hatte tatsächlich 'com.android.application' drin. Es zu 'com.android.library' zu ändern half nicht, auch das Entfernen anderer unnötiger Sachen aus dem' build.gradle' half nicht .. immer der gleiche Fehler .. – Andru

Verwandte Themen