当前位置: 首页 > news >正文

开源 java android app 开发(十二)封库.aar

 文章的目的为了记录使用java 进行android app 开发学习的经历。本职为嵌入式软件开发,公司安排开发app,临时学习,完成app的开发。开发流程和要点有些记忆模糊,赶紧记录,防止忘记。

 相关链接:

开源 java android app 开发(一)开发环境的搭建-CSDN博客

开源 java android app 开发(二)工程文件结构-CSDN博客

开源 java android app 开发(三)GUI界面布局和常用组件-CSDN博客

开源 java android app 开发(四)GUI界面重要组件-CSDN博客

开源 java android app 开发(五)文件和数据库存储-CSDN博客

开源 java android app 开发(六)多媒体使用-CSDN博客

开源 java android app 开发(七)通讯之Tcp和Http-CSDN博客

开源 java android app 开发(八)通讯之Mqtt和Ble-CSDN博客

开源 java android app 开发(九)后台之线程和服务-CSDN博客

开源 java android app 开发(十)广播机制-CSDN博客

开源 java android app 开发(十一)调试、发布-CSDN博客

开源 java android app 开发(十二)封库.aar-CSDN博客

推荐链接:

开源C# .net mvc 开发(一)WEB搭建_c#部署web程序-CSDN博客

开源 C# .net mvc 开发(二)网站快速搭建_c#网站开发-CSDN博客

开源 C# .net mvc 开发(三)WEB内外网访问(VS发布、IIS配置网站、花生壳外网穿刺访问)_c# mvc 域名下不可訪問內網,內網下可以訪問域名-CSDN博客

开源 C# .net mvc 开发(四)工程结构、页面提交以及显示_c#工程结构-CSDN博客

开源 C# .net mvc 开发(五)常用代码快速开发_c# mvc开发-CSDN博客

本章节主要内容是如何进行打包封库,在Android 开发中,经常遇到两种情况:1.需要简化流程提高编译速度,将部分不需要修改的代码进行打包。2.需要提供第三方开发的SDK,保证对方能使用源码的情况同时又看不到源码。在这两种情况中就需要对源码进行打包封库来实现。

本章内容如下:

1  使用源码制作.aar库文件。

2  在测试程序中引入.aar文件进行验证。

一、制作.aar文件

1.1  使用工程创建module

选择Library

给库命名

1.2  在module中创建Class文件

最后创建2个类

AddFun源码

ackage com.example.mylib;import android.app.Activity;public class AddFun extends Activity {public  int Add (int a,int b){return  a+b;}
}

MulFun源码

package com.example.mylib;import android.app.Activity;public class MulFun extends Activity {public  int Mul(int a,int b){return  a*b;}
}

1.3  修改build.gradle文件,minifyEnable需要改为true,库文件编译后才能看不见源码。

1.4  编译生成 .arr库文件

 

二、在测试文件中调用库文件

2.1  修改app文件夹的build.gradle文件

2.2  进行同步

2.3  测试工程中 MainActivity.java的源码

package com.example.myapplication;import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;import com.example.mylib.AddFun;
import com.example.mylib.MulFun;import org.eclipse.paho.client.mqttv3.IMqttActionListener;
import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
import org.eclipse.paho.client.mqttv3.IMqttToken;
import org.eclipse.paho.client.mqttv3.MqttCallback;
import org.eclipse.paho.client.mqttv3.MqttMessage;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);AddFun tmp = new AddFun();int a = tmp.Add(3,4);MulFun tmp1 = new MulFun();int b = tmp1.Mul(3,4);Log.d("AddFun:", String.valueOf(a));Log.d("MulFun:", String.valueOf(b));}
}

2.4  最终运行的结果,myLib.arr库的功能得到验证

相关文章:

  • 基于React Native的HarmonyOS 5.0休闲娱乐类应用开发
  • Android的Dalvik和ART
  • 【DETR目标检测】ISTD-DETR:一种基于DETR与超分辨率技术的红外小目标检测深度学习算法
  • 修仙处于平凡
  • 华为服务器obsutil使用方法
  • 计算机网络:认证和授权 DNS 域名解析过程(如何转换为ip地址) http无状态 5**服务端错误相关的响应状态码 tcp某次握手丢失会有什么现象?
  • WPP 媒体推出基于人工智能的工具突破基于身份识别的定向模式
  • 摄影入门:相机基本参数解析
  • SpringBoot学习day2-前后端的交互搭建以及跨域问题、拦截过滤器问题的解决
  • FEMFAT许可使用数据分析工具介绍
  • Jetson NX 从nvme恢复的emmc启动的方法
  • 华为交换机远程登录配置
  • 从C学C++(2)
  • uni-app项目实战笔记1--创建项目和实现首页轮播图功能
  • Visual Stdio程序弹出的黑框内容如何复制
  • ElasticJob初探
  • 6.11 note
  • ImportError: cannot import name ‘PfeifferConfig‘ from ‘transformers‘【已解决】
  • 再说一说LangChain Runnable接口
  • 酒店管理系统开发:量身定制,助力酒店高效管理与服务升级
  • 专门更新最新设计的网站/零基础学电脑培训班
  • 正规app软件开发价格/台州网站seo
  • 网站建设全包广/百度百度网址大全
  • 知名企业门户网站建设服务公司/产品宣传推广策划
  • led外贸网站制作/打造龙头建设示范
  • 用jsp做的网站框架/百度产品大全首页