1

我正在尝试从我的 go 程序中为 android 生成一个绑定,但 gomobile 给了我一个错误,因为

no exported names in the package "src/github.com/rohankeskar19/android_whisper"

这是我使用的命令

gomobile bind -v -target=android -o ethereumchat.aar src\github.com\rohankeskar19\android_whisper\

这是我的文件夹结构

bin
pkg
src
   |
    -github.com/
      |
       -rohankeskar19/
         |
          -android_whisper/
           |
            -ethereumchat.go

我知道为了导出名称,它们必须以大写字母开头

这是我的代码

package ethereumchat

import (
    "log"
    "context"
    "fmt"
    "github.com/ethereum/go-ethereum/whisper/shhclient"
)


func Newkeypair(address string) string {
    client, err := shhclient.Dial(address)
    if err != nil{
        log.Fatal(err)
        return "Error occured while connecting to whisper"
    }
    keyID, err := client.NewKeyPair(context.Background())
    if err != nil {
        log.Fatal(err)
        return "Error occured while creating key pair"
    }

    return keyID
}



4

1 回答 1

0

为您的包使用与其所在文件夹相同的名称。(你的包是 ethereumchat,但目录是 andorid_whisper。)

于 2020-03-15T09:19:18.907 回答