开源区块链钱包CASHBOX技术编译教程(一)

admin
admin
admin
1253
文章
1
评论
2020年8月6日10:20:29 评论

1. 全局代理,必要条件

2. 环境准备(window)

Android studio 链接:http://www.android-studio.org/
Flutter 链接:https://flutterchina.club/get-started/install/
Rust 链接:https://www.rust-lang.org/zh-CN/tools/install
Java 链接:https://www.java.com/ES/download/
Ndk链接:https://developer.android.com/ndk/downloads
Msvc以及相应的英文语言包。请使用Microsoft C++ Build Tools

(https://visualstudio.microsoft.com/zh-hant/visual-cpp-build-tools/)进行下载。打开勾选如下选项

开源区块链钱包CASHBOX技术编译教程(一)

开源区块链钱包CASHBOX技术编译教程(一)

Vcpkg.链接:https://github.com/microsoft/vcpkg

3. 环境变量

ANDROID_NDK 值为ndk所在目录。

开源区块链钱包CASHBOX技术编译教程(一)

path环境变量中配置flutter,cargo,vcpkg,java。

开源区块链钱包CASHBOX技术编译教程(一)

4. 取下cashbox代码库。
https://github.com/scryinfo/cashbox

5. 以上条件准备完成后开始编译过程编译动态库部分。可以参考

https://github.com/scryinfo/cashbox/blob/master/bc/device_app_lib/readme.md

Windows具体步骤如下:

rustup target add aarch64-linux-android armv7-linux-androideabi
rustup toolchain install x86_64-pc-windows-msvc
rustup default msvc

注:如果此时找不到msvc,请使用rustup toolchain list查看全名,替换到命令中重新执行

vcpkg integrate install
vcpkg install sqlite3:x64-windows-static
vcpkg install sqlite3:x64-windows

Cd 到cashbox\bc\device_app_lib\script目录下运行

build_aarch64-linux-android.bat文件进行动态库的编译。

(1)若在此过程中出现 linker:“cc”not find 问题。请前往cargo所在目录下新建文件config,无后缀。

Config文件中的内容如下:

[target.aarch64-linux-android]
linker="C:\\Users\\jayce\\Downloads\\android-ndk-r21b\\toolchains\\llvm\\prebuilt\\windows-x86_64\\bin\\aarch64-linux-android28-clang.cmd"
ar="C:\\Users\\jayce\\Downloads\\android-ndk-r21b\\toolchains\\llvm\\prebuilt\\windows-x86_64\\bin\\aarch64-linux-android-ar.exe"  

目录根据你的ndk所在目录进行相应调整。保存再次运行bat文件完成编译。

若在编译过程出现ed25519_dalek相关库的问题,请修改bc\下的cargo.lock文件。找到ed25519_dalek的依赖修改如下内容。

version = "1.0.0-pre.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "21a8a37f4e8b35af971e6db5e3897e7a6344caa3f92f6544f88125a1f5f0035a"
dependencies = [
 "curve25519-dalek 2.1.0",
 "ed25519",
 "rand 0.7.3",
 "serde",
 "sha2 0.8.2",
 "zeroize 1.1.0",
]

因7月17日版本改动,且1.0.0-pre.3与1.0.0-pre.4不兼容导致,将上述内容修改如下。

version = "1.0.0-pre.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "978710b352437433c97b2bff193f2fb1dfd58a093f863dd95e225a19baa599a2"
dependencies = [
 "clear_on_drop",
 "curve25519-dalek 2.1.0",
 "rand 0.7.3",
 "sha2 0.8.2",
]

修改上述bat文件。

编译apk,具体步骤如下

修改cashbox\app\lib\global_config\vendor_config.dart中的key和value.替换为你自己服务器的接口地址。各个接口详情介绍参见(未完成)。

由于apk签名问题,请修改cashbox\app\android\app\build.gradle的部分内容如下

开源区块链钱包CASHBOX技术编译教程(一)

修改后可生成未签名apk,若要重新签名请参见
https://github.com/scryinfo/cashbox/blob/master/app/README.md

运行flutter build apk即可,生成的apk目录如下:
cashbox\app\build\app\outputs\apk\release\app-release-unsigned.apk

admin
  • 本文由 发表于 2020年8月6日10:20:29
  • 转载请务必保留本文链接:https://www.biyungu.com/news/852.html
DeFi并不是以太坊才有,比特币的更香 资讯

DeFi并不是以太坊才有,比特币的更香

CoinDesk几个星期前的一篇文章《为什么比特币持有者们也关注DeFi?我注意到|CoinDesk专栏。很明显,这个标题是用来吸引眼球的。看起来,所有DeFi上的东西都会受到比特币用户的抵制:垃圾软...
PayPal是否会影响这次行情的波动 资讯

PayPal是否会影响这次行情的波动

昨天晚上,比特币和以太坊市场开始了一轮更为猛烈的上涨。比特币价格最高达到13000美元,以太坊价格上涨稳定在390美元左右。在最近几个月里,比特币出现了最高的涨势。 业内许多人都将比特币开启的这轮上涨...
为什么说Vdex永不崩盘?VDEX永不关网的理由? 资讯

为什么说Vdex永不崩盘?VDEX永不关网的理由?

很多人到现在都没有弄明白VDEX为什么始终没不了,看到一些负面信息就没了精神支柱,恐慌畏惧,生怕自己倾家荡产,总结一下花VDEX永不崩盘的四个理由: 1、资金去中心化,都没有资金池,不分配后来者本金,...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: