android 调用模块库3种方式

前言

android 工程 调用 模块库的3种方式
第一种 调整同工程下 module ,方便调试
第二,三 种 调用aar/jar 及 so 维护性好,安全性高

1: 环境
win7
android studio4.1.1

2: 生产及调用
1>第一种方式 调整同工程下 module
(1):创建个一个工程(testmodule)
(2):右键 testmodule ->new ->module->N多选项(这里选择android library)->取名(mylibrary)
android 调用模块库3种方式_第1张图片
settings.gradle 自动生成

include ':mylibrary'
include ':app'
rootProject.name = "testmodule"

(3)
project structure ->dependencies->app -> + ->module dependency ->选择 新增加的module(mylibrary)

android 调用模块库3种方式_第2张图片
在app build.gradle 的 dependecies 自动增加

implementation project(path: ':mylibrary')

(4) 主要代码
mylibrary 代码

package com.example.mylibrary;
public class  mylib{
    public  static  int add(int x,int y){
        return  x+y ;
    }

    public static int sub(int x,int y){
        return  x-y;
    }

    public  int mul(int x,int y){
        return  x*y ;
    }
}

testmodule 代码

package com.example.testmodule;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.widget.Toast;

import com.example.mylibrary.mylib;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
//        Toast.makeText(getApplicationContext(),mylib.add(1,2).toString(),Toast.LENGTH_LONG).show();
        mylib m1 = new mylib();
        Toast.makeText(MainActivity.this,"2*3="+ m1.mul(2,3),Toast.LENGTH_LONG).show();

    }
}

(5)运行结果
android 调用模块库3种方式_第3张图片

2>第2种方式 直接调用aar
(1):创建工程 callaartest
libs 没有就创建个android 调用模块库3种方式_第4张图片
app 目录下 build.gradle 增加

//app 目录下libs文件夹 (如是app 同级目录 dir: '../libs'  这样就好)
implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])

如图
在这里插入图片描述android 调用模块库3种方式_第5张图片

(2)代码如下

package com.example.callaartest;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.widget.Toast;

import com.example.mylibrary.mylib;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mylib m1 = new mylib();
        Toast.makeText(MainActivity.this,"2*4="+ m1.mul(2,4),Toast.LENGTH_LONG).show();
    }
}

(3)运行如下

android 调用模块库3种方式_第6张图片

3> 第3种 调用 so文件
参考
android curl.so使用(二)

你可能感兴趣的:(android,android,android,studio,gradle)