android9.0-ndk开发(4)-APP 调用实例

文章目录

      • 1.Android Studio 新建一个myAPP的工程
      • 2. 将jni的库(带ABI路径)复制到MyApp\app\libs中
      • 3.将sample.jar包文件复制到MyApp\app\libs中,
      • 4. 代码调用

注1:android9.0-ndk开发系列文档提供一个ndk编译JNI库,并访问第三方库,APP 直接通过jar接口调用的方法。
注2:本文为个人学习记录,可能存在个别或多处错误,欢迎指正和讨论。
android9.0-ndk开发(1)-第三方库的生成
android9.0-ndk开发(2)-JNI代码
android9.0-ndk开发(3)-Jar打包
android9.0-ndk开发(4)-APP 调用实例

1.Android Studio 新建一个myAPP的工程

2. 将jni的库(带ABI路径)复制到MyApp\app\libs中

abi
在app的bulid.gradle文件中加入如下代码,

android {
......
sourceSets {
    main() {
        // add so file
        jniLibs.srcDirs = ["libs"]
    }
}

3.将sample.jar包文件复制到MyApp\app\libs中,

单机右键 Add As Library…

加入后可以看到接口信息:
android9.0-ndk开发(4)-APP 调用实例_第1张图片
MyApp\app\build.gradle 会自动加入如下代码,将jar包含进去:
implementation files(‘libs/sample-0.1.jar’)

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
    implementation files('libs/sample-0.1.jar')
}

4. 代码调用

在MainActivity.java中直接可以调用class中的方法

package com.sample.myapp;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;

// import  myjni
import com.sample.jnitest.myjni;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.d("MyApp","Create");
        myjni jnisample = new myjni();
        String test_set = "hello world!";
       jnisample.SetString(test_set);
        String test_get = jnisample.GetString();
        Log.d("MyAppGet",test_get);

    }
}

你可能感兴趣的:(Android开发)