私はBoringSSLを使ってファイルcheckSumを生成するためにアンドロイドでjni関数を作っています。Androidスタジオで事前ビルドされたライブラリを使用する
私はAndroidスタジオでライブラリを使用するために共有ライブラリにboringsslを作成しました。
私は私のプロジェクトのsrc /メイン/ jniLibs/libに とBoringSSLに* .soのファイルをコピーしたが、私はこのプロジェクトを参照して、私のプロジェクトに適用JNI/srcに/メインに
をフォルダが含まれます。
https://github.com/googlesamples/android-ndk/tree/master/hello-libs
このような私のbuild.gradleファイル。 私はGradleの-実験を使用しています:0.7.0(とWindow10、Androidのメーカー2.1.2)
apply plugin: 'com.android.model.application'
model {
repositories {
libs(PrebuiltLibraries) {
boringssl {
headers.srcDir "src/main/jni/include/openssl"
binaries.withType(SharedLibraryBinary) {
sharedLibraryFile = file("src/main/jniLibs/lib/libcrypto.so")
sharedLibraryFile = file("src/main/jniLibs/lib/libssl.so")
}
}
}
}
android {
compileSdkVersion = 24
buildToolsVersion = '24.0.1'
defaultConfig {
applicationId = 'yein.a'
minSdkVersion.apiLevel = 19
targetSdkVersion.apiLevel = 24
versionCode = 1
versionName = '1.0'
}
ndk {
moduleName = 'hello-libs'
ldLibs.addAll(['android', 'log'])
}
sources {
main {
jni {
dependencies {
library 'boringssl' linkage 'shared'
}
}
jniLibs{
source{
srcDir "src/main/jniLibs/lib"
}
}
}
}
productFlavors{
create("arm"){
ndk.abiFilters.add("armeabi-v7a")
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles.add(file('proguard-android.txt'))
}
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:24.1.1'
}
これは私のプロジェクト構造です。
それはGradleの同期エラーが発生していないので、私は、私は適切にサンプルプロジェクトを適用すると思います。
私はこのようなMD5機能のAndroidスタジオ自動完成機能名を使用するとき。
しかし、私はそれがこのようなエラーが発生して実行...]をクリックします
私はグーグル、githubの中にたくさんのプロジェクトを探索し、そしてもちろん、以前の答えをStackOverflowの私はまだ私の問題を解決しません。
グラデルバージョンを変更しようとしましたが、gradle-experimental:0.7.0以外の自動生成されたjni関数で他のグラデルバージョンがエラーになりました。
誰でも正しい方向に、あるいは解決策を教えてくれますか?
私の質問をお読みいただきありがとうございます。
こんにちは@はい回答 私もあなたのような問題があります。あなたはそれを解決しますか?あなたの簡単なサンプルプロジェクトを私に教えてください。ありがとう。 –
こんにちは@PhanSinh私はちょうど私のソースコードをGithub [link](https://github.com/yein28/Checksum)に入れました。このプロジェクトはMy APKファイルのmd5値を取得しています。私は数ヶ月前にこのコードを書いた。数ヶ月前、それはうまく動作しますが、私はそれがまだ正常に動作しているか分からない。私はこのコードがあなたに役立つことを願っています:) –
THanks so much @心が好きです。 私はOpenSSlを使ってAESを使ってデータを暗号化しています。しかし、今私は、Android 6からOpenSSlの代わりにGoogleがBoringSSLを使用していることを知っていますか? BoringSSLで働いていましたか? –