android 上的 Bitcoinj 库在安装 APK 时挂起
Bitcoinj library on android hung on installing APK
我正在尝试获得一个基本的 运行ning 应用程序,它将使用 bitcoinj 库来创建钱包和同步。非常基本。我在我的桌面应用程序中使用了 bitcoinj 库,没有任何问题。当我尝试为 android 制作一个时,它在我的 phone.
上尝试 运行 时挂在“...正在安装 APK”
这是我的代码。
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ProgressBar;
import org.bitcoinj.core.Context;
import org.bitcoinj.core.NetworkParameters;
import org.bitcoinj.core.listeners.DownloadProgressTracker;
import org.bitcoinj.kits.WalletAppKit;
import org.bitcoinj.params.TestNet3Params;
import java.io.File;
import java.util.Date;
public class MainActivity extends AppCompatActivity {
public static NetworkParameters BTCparams = TestNet3Params.get();
public static WalletAppKit BTCkit = new WalletAppKit(BTCparams,new File("."),"BTC-Test");
private ProgressBar BTCProgress;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
BTCProgress = findViewById(R.id.BTCProgress);
Context.propagate(new Context(BTCparams));
DownloadProgressTracker BTCListener = new DownloadProgressTracker() {
@Override
public void progress(double pct, int blocksSoFar, Date date) {
System.out.println("Syncing..."+pct+"%");
BTCProgress.setProgress((int) pct);
}
@Override
public void doneDownload() {
System.out.println("Sync Done.");
BTCProgress.setProgress(100);
}
};
BTCkit.setDownloadListener(BTCListener).setBlockingStartup(false).startAsync().awaitRunning();
}
}
这是我的应用程序文件夹中的 build.gradle。
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.example.testapp.testapp"
minSdkVersion 21
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.android.support:design:28.0.0'
implementation 'org.bitcoinj:bitcoinj-core:0.14.7'
implementation 'org.slf4j:slf4j-api:1.7.12'
implementation 'org.slf4j:slf4j-simple:1.7.12'
}
我最终得到了这个对话框。
当我单击“确定”时,出现此错误。
它把你带到这里...
我很困惑,无法弄清楚为什么这不起作用。我怀疑一旦我解决了这个问题,我的开发就会变得轻而易举。请提供详细信息,因为我仍在学习 android 开发。
改为:
implementation "org.slf4j:slf4j-simple:1.7.25"
api "org.slf4j:slf4j-api:1.7.25"
这看起来也很奇怪:
Context.propagate(new Context(BTCparams));
因为连NULL
都没有,但没有任何价值
我正在尝试获得一个基本的 运行ning 应用程序,它将使用 bitcoinj 库来创建钱包和同步。非常基本。我在我的桌面应用程序中使用了 bitcoinj 库,没有任何问题。当我尝试为 android 制作一个时,它在我的 phone.
上尝试 运行 时挂在“...正在安装 APK”这是我的代码。
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ProgressBar;
import org.bitcoinj.core.Context;
import org.bitcoinj.core.NetworkParameters;
import org.bitcoinj.core.listeners.DownloadProgressTracker;
import org.bitcoinj.kits.WalletAppKit;
import org.bitcoinj.params.TestNet3Params;
import java.io.File;
import java.util.Date;
public class MainActivity extends AppCompatActivity {
public static NetworkParameters BTCparams = TestNet3Params.get();
public static WalletAppKit BTCkit = new WalletAppKit(BTCparams,new File("."),"BTC-Test");
private ProgressBar BTCProgress;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
BTCProgress = findViewById(R.id.BTCProgress);
Context.propagate(new Context(BTCparams));
DownloadProgressTracker BTCListener = new DownloadProgressTracker() {
@Override
public void progress(double pct, int blocksSoFar, Date date) {
System.out.println("Syncing..."+pct+"%");
BTCProgress.setProgress((int) pct);
}
@Override
public void doneDownload() {
System.out.println("Sync Done.");
BTCProgress.setProgress(100);
}
};
BTCkit.setDownloadListener(BTCListener).setBlockingStartup(false).startAsync().awaitRunning();
}
}
这是我的应用程序文件夹中的 build.gradle。
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.example.testapp.testapp"
minSdkVersion 21
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.android.support:design:28.0.0'
implementation 'org.bitcoinj:bitcoinj-core:0.14.7'
implementation 'org.slf4j:slf4j-api:1.7.12'
implementation 'org.slf4j:slf4j-simple:1.7.12'
}
我最终得到了这个对话框。
当我单击“确定”时,出现此错误。
它把你带到这里...
我很困惑,无法弄清楚为什么这不起作用。我怀疑一旦我解决了这个问题,我的开发就会变得轻而易举。请提供详细信息,因为我仍在学习 android 开发。
改为:
implementation "org.slf4j:slf4j-simple:1.7.25"
api "org.slf4j:slf4j-api:1.7.25"
这看起来也很奇怪:
Context.propagate(new Context(BTCparams));
因为连NULL
都没有,但没有任何价值