周凯,个人博客

  • 前端
  • 嵌入式
  • 工具
  • 后端
  • 随笔
个人记录
  1. 首页
  2. android
  3. 正文

思源 android windows打包配置

2024年 1月 28日 1690点热度 0人点赞 2条评论

基础

  • fork原始仓库:EightDoor/siyuan-android: SiYuan Android APP (github.com)
  • 参考思源笔记开发指南配置:siyuan/.github/CONTRIBUTING_zh_CN.md at master · siyuan-note/siyuan

环境

  • go环境配置

    • 在 Windows 上,需要运行下面命令:
    # 启用 Go Modules 功能
    $env:GO111MODULE="on"
    
    # 配置 GOPROXY 环境变量,以下三选一
    
    # 1. 七牛 CDN
    $env:GOPROXY="https://goproxy.cn,direct"
    
    # 2. 阿里云
    $env:GOPROXY="https://mirrors.aliyun.com/goproxy/,direct"
    
    # 3. 官方
    $env:GOPROXY="https://goproxy.io,direct"
    • 测试一下
    # 查看代理地址
    go env | grep GOPROXY
    
    time go get golang.org/x/tour
  • 注意:目录名称涉及到 "zhoukai"的都需要更改自己的用户名称,不然无法找到文件

  • 下载 android-studio

  • 安装sdk、ndk

  • windows配置环境变量

    • 变量:ANDROID_HOME

    • 值:C:\Users\zhoukai\AppData\Local\Android\Sdk


    • 变量:ANDROID_NDK_HOME

    • 值:C:\Users\zhoukai\AppData\Local\Android\Sdk\ndk\android-ndk-r23c

    • 其中的android-ndk-r23c需要手动在github下载

    • 参考 android-studio手动安装ndk

    • 下载完成后,需要放到ndk目录下,C:\Users\zhoukai\AppData\Local\Android\Sdk\ndk


    • Path 编辑环境变量

    • 新增

      • %ANDROID_HOME%\platform-tools
      • %ANDROID_HOME%\tools
      • %ANDROID_NDK_HOME%
  • 进去siyuan项目 kernel目录

    • cd kernel
    • 执行:gomobile bind --tags fts5 -ldflags '-s -w' -v -o kernel.aar -target='android/arm64' ./mobile/
    • 复制 kernel.aar、app.zip 文件到安卓目录


  • android-studio配置

    • 新建 app/libs 文件夹

    • 新建 app/src/main/assets 资源文件夹

    • 右键单击main目录,选择New>Folder>Assets Folder.

    • 把打包好的kernel.aar、app.zip放入对应的位置即可

问题

  • 如果提示:

    gomobile bind gomobile: ANDROID_NDK_HOME specifies ...\Android\Sdk\ndk\25.2.9519653, which is unusable: unsupported API version 16 (not in 19..33)
    • 需要检查 ANDROID_HOME ,ANDROID_SDK_HOME 环境变量是否正确配置
  • 如果提示:

    C:\Users\zhoukai\go\bin\gomobile.exe: No compiler for arm was found in the NDK (tried C:\Users\zhoukai\AppData\Local\Android\Sdk\ndk\android-ndk-r23c\toolchains\llvm\prebuilt\windows\bin\armv7a-linux-androideabi23-clang). Make sure your NDK version is >= r19c. Use sdkmanager --update to update it.
    • 需要检查 windows名称,默认下载的ndk是windows-x86_64,需要更改为windows

  • 如果提示缺少 gomobile bind

    • 安装

      go get -u golang.org/x/mobile/cmd/gomobile

      go get golang.org/x/mobile/bin

    • 如果提示无法识别 javac

    • 需要配置javac的环境变量

    • 编辑环境变量:Path添加

      • C:\Program Files\Java\jre-1.8\bin
      • C:\Program Files\Java\jdk1.8.0_361\bin
      • 根据自己的java安装路径配置
      • 打开cmd 输入java、javac都能识别

🎯 拓展阅读提示

本文涉及的内容已同步至公众号后台,我会在那里分享更多深度内容和实用技巧

→ 点击关注:一行梦境

公众号二维码
本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2024年 2月 8日

周凯

这个人很懒,什么都没留下

打赏 点赞
< 上一篇

文章评论

  • Avatar
    哎呀

    谢谢博主,我提醒下其他人:必须要用 android-ndk-r23c 这个版本的ndk才行!!!github上最新的版本不行,会报错 unusable , 服了

    2024年 2月 3日
    回复
  • Avatar
    哎呀

    还有一个点:
    安卓sdk的环境变量名应该为: ANDROID_HOME
    参考 https://pkg.go.dev/golang.org/x/mobile/cmd/gomobile
    The environment variable ANDROID_HOME must be set to the path to Android SDK.
    不是这个的话就会去C盘找了

    2024年 2月 3日
    回复
  • razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
    回复 哎呀 取消回复

    COPYRIGHT © 2022-现在 周凯,个人博客. ALL RIGHTS RESERVED.

    Theme Kratos Made By Seaton Jiang

    蒙ICP备18004897号