Android版のSPVノード(クライアント)をソースからビルド
JavaプロジェクトをビルドするためにApache MavenかGradleが必要なので作っておきます。
*最新のwalletはgradleでビルドします。
ビルドの前提
Javaがインストールされていること
bitcoin-walletをクローンしておく
Gradleがインストールされていること
Android SDKがインストールされていること
Android NDKがインストールされていること
Java環境
$ sudo apt-get update
$ sudo apt-get upgrade
まず、Javaがインストールされているかチェック。
$ java -version
まだの場合
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
Oracle Javaの最新は 8のようです、安定板をインストール
$ sudo apt-get install oracle-java8-installer
チェック
$ java -version
bitcoin-wallet
Githubからクローしておきます。
$ git clone https://github.com/schildbach/bitcoin-wallet.git
Gradle環境
$ sudo mkdir /opt/gradle
$ cd /opt/gradle
最新のgradleは4.4.1ですが、使用しているgradleは2.10の古いバージョンのようです。
過去バージョンからダウンロードして使います。
V2.10をhomeにDLしてコピー
$ sudo cp ~/gradle-2.10-bin.zip /opt/gradle
$ sudo unzip -d /opt/gradle gradle-2.10-bin.zip
確認
$ ls /opt/gradle/gradle-2.10
$ export PATH=$PATH:/opt/gradle/gradle-2.10/bin
Android SDK
$ mkdir ~/Android-SDK
解凍してAndroid-SDKに展開
sdkmanagerでツール類を作っておきます。
$ ~/Android-SDK/tools/bin/sdkmanager “platforms;android-26”
$ ~/Android-SDK/tools/bin/sdkmanager “build-tools;26.0.3”
~/bitcoin-wallet/local.propertiesファイルを新規作成して以下を記述。
sdk.dir=<SDKのパス>
例 homeにAndroid-SDKがある場合
sdk.dir=/home/<ユーザー名>/Android-SDK
~/bitcoin-wallet/sample-integration-android/build.gradleを修正しておきます。
compileSdkVersion ‘android-26’
buildToolsVersion ‘26.0.3’
$ cd ~/Android-SDK/tools/bin
$ ./sdkmanager –update
Android NDK
ここからNDKをダウンロードして展開
~/bitcoin-wallet/local.propertiesファイルに追記
ndk.dir=<NDKのパス>
bitcoin-walletをgradleでビルド
$ cd ~/bitcoin-wallet
$ gradle clean build
apkファイルが生成されているはず、探してみます。
Androidへデプロイ(deploy)
debugモードのapkはOKでした。
AndoidをPCにUSBケーブルで接続、端末がPCからストレージとして認識されます。
apkを適当な場所へ転送。
タップすればapkファイルならアプリとしてインストールを開始します。
アプリはこんな感じです。testnetに接続しています。
testnetの場合、ビットコインはfaucetから手に入ります(貴重なものなのでテストで使ったら返却するように!、それにここから入手できるビットコインは法定通貨との交換はできません、まあ子供銀行券のようなものです、でもtestnetはmainnetと同じ構造のP2Pネットワークなのでtestできます)。
bitcoin Walletのアドレスを確認してFaucetサイトからビットコインを受け取ってみる
(おまけ)Maven環境
$ sudo apt-get update
$ sudo apt-get upgrade
Apache Mavenをインストール
2018/01/07現在最新版は3.5.2ですが、動作している実績ということで3.3.9を使用
$ cd /opt/
$ sudo wget http://www-eu.apache.org/dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
$ sudo tar -xvzf apache-maven-3.3.9-bin.tar.gz
ディレクトリ名を変更
$ sudo mv apache-maven-3.3.9 maven
環境変数をセットアップ
エディタでmavenenv.shを新規に開く(なんでもいいんですがnanoを使用)
$ sudo nano /etc/profile.d/mavenenv.sh
$ sudo chmod +x /etc/profile.d/mavenenv.sh
変数のロードにsourceコマンドを使います、無い場合は以下でインストール
$ sudo apt-get install build-essential checkinstall
ロード
$ source /etc/profile.d/mavenenv.sh
インストールを確認
$ mvn -version
コマンド
mvn clean install
Leave a Reply