Ich verwende die java-ipfs-api - https://www.npmjs.com/package/geth-private für meine Android DApp. Ich habe es geschafft, eine Verbindung zum ipfs-Daemon herzustellen und ihn mit ipfs.refs.local () getestet. Befehl wie auf dem GitHub angegeben. Wenn ich jedoch versuche, eine Datei mit hinzuzufügen
NamedStreamable.ByteArrayWrapper ipfsFile = new NamedStreamable.ByteArrayWrapper(usr + ".txt", userJSON.toString().getBytes());
MerkleNode addFile = ipfs.add (ipfsFile);
oder sogar mit
NamedStreamable.FileWrapper file = new NamedStreamable.FileWrapper(new File("hello.txt")); MerkleNode addResult = ipfs.add (Datei);
Wie auf der Github-Seite angegeben, hat es nur die Adnroid Looper-Klasse verwendet und endlos Schleifen und stürzt ab. Kann nichts auf dem Github darüber oder im Code finden. Kann jemand bitte helfen? Danke.
-- BEARBEITEN
SCHWERWIEGENDE AUSNAHME: Hauptprozess: benkrarup.ethereum.messagingdapp, PID: 24710 java.lang.NoClassDefFoundError: Fehlgeschlagene Auflösung von: Ljava/nio/file/Paths; at io.ipfs.api.IPFS.add(IPFS.java:85) at io.ipfs.api.IPFS.add(IPFS.java:70) at benkrarup.ethereum.messagingdapp.RegisterActivity$1.onClick(RegisterActivity.java: 91) bei android.view.View.performClick(View.java:5610) bei android.view.View$PerformClick.run(View.java:22265) bei android.os.Handler.handleCallback(Handler.java:751) bei android.os.Handler.dispatchMessage(Handler.java:95) bei android.os.Looper.loop(Looper.java:154) bei android.app.ActivityThread.main(ActivityThread.java:6077) bei java.lang.reflect .Method.invoke (native Methode) bei com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866) bei com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756) Verursacht durch : java.lang.
Es bekommt diesen Fehler.
Ich weiß, dass dies spät ist, aber ich habe eine Implementierung von IPFS erstellt, die mit Android funktioniert. Dies liegt daran, dass java.nio.Paths auf API-Ebene 24 nicht verfügbar ist.
-- Ich habe einen Link auf GitHub für den verfügbaren Code gepostet, aber es ist eine schnelle, ungetestete Lösung.
Ismael