I am doing this on the latest version of the android studio and minimum SDK version is 15 dependencies:
> implementation fileTree(dir: 'libs', include: ['*.jar'])
> implementation 'com.android.support:appcompat-v7:28.0.0'
> implementation 'com.android.support.constraint:constraintlayout: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
> 'org.web3j:core:4.2.0-android' implementation
> 'com.android.support:multidex:1.0.3' implementation
> 'com.squareup.okhttp3:okhttp:3.14.0' implementation
> "io.reactivex.rxjava2:rxjava:2.2.2"
My code is:
public String createWallet() throws Exception {
String path = Environment.getExternalStoragePublicDirectory(DIRECTORY_DOWNLOADS).getPath().toString();
String fileName = WalletUtils.generateNewWalletFile("password", new File(path));
return path + fileName;
}
@serso gives a function "setupBouncyCastle()" that you have to put in your class and call it in onCreat. this replace the Android version of Bouncy Castle with the shipped one! like he said. ^^
If you are preparing release build with minifyEnabled is true and facing this exception:
java.security.NoSuchAlgorithmException: no such algorithm: ECDSA for provider BC
Add these lines to pro-gurd
-dontwarn java8.util.**
-dontwarn jnr.posix.**
-dontwarn com.kenai.**
#-keep class org.bouncycastle.**
-dontwarn org.bouncycastle.jce.provider.X509LDAPCertStoreSpi
-dontwarn org.bouncycastle.x509.util.LDAPStoreHelper
-keepclassmembers class org.web3j.protocol.** { *; }
-keepclassmembers class org.web3j.crypto.* { *; }
-keep class * extends org.web3j.abi.TypeReference
-keep class * extends org.web3j.abi.datatypes.Type
#-dontwarn java.lang.SafeVarargs
-dontwarn org.slf4j.**
Thanks Mimo Saha
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.