美文网首页
Android Libiary打造自己的SDK,并在maven发

Android Libiary打造自己的SDK,并在maven发

作者: 世界有你更精彩 | 来源:发表于2022-03-23 15:07 被阅读0次

    Android Libiary打造自己的SDK,并在maven发布

    1、需求

    简单记录如何打包sdk,并 发布到maven仓库,以及使用!

    2、开发环境及工具

    ·  MAC(Windows也无所谓,路径不同而已)

    ·  Android Studio 4.1.1

    ·  JDK 1.8

    ·  Github

    ·  Maven

    3、实现步骤

     3.1新建工程

    新建一个工程zjmlibiary,选择empty activity,让Androidstudio生成一个基础activity,这个基础项目主要用于后续打包sdk,以及运行验证sdk是否正常使用

    3.2新建module

    第一步:在androidstudio最上面一行配置,选择File-->New-->New Module,如下图所示:

    need-to-insert-img

    第二步:在弹窗中选择Android Libiary,并命名zjmlibiary;如下图所示:

    need-to-insert-img

    新建成功后,我们会发现,在项目的左侧工程导航栏里,多出了一个模块工程,工程结构与平时运行的app结构一样,有独立的gradle配置;如下图:

    3.3功能类创建

    现在,我们的基础工作已经全部完成了,下一步就是把你想要封装到sdk的功能写入到zjmlibiary中了,编写方式和普通app代码一样;好了,下面我们就来实现一个最简单的功能;(本篇文章不在于实现多么复杂的功能,而是描述整个sdk从编写-->打包-->上传maven-->使用maven库中编译的sdk)

    1、新建一个activity(随便定义一个)

    public class SelectPatientActivity extends AppCompatActivity {    private Button bt_patient;    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);            setContentView(R.layout.activity_patient);         bt_patient=(Button) findViewById(R.id.bt_patient);        bt_patient.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {Toast.makeText(SelectPatientActivity.this,"测试moudle",Toast.LENGTH_SHORT).show();            }        });    }}

    2、添加布局文件

    <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical">    <LinearLayout        android:layout_width="match_parent"        android:layout_height="48dp"        android:gravity="center"        android:background="#30669c">        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:textColor="#FFFFFF"            android:textSize="15dp"android:text="测试module" />    </LinearLayout>    <Button        android:id="@+id/bt_patient"        android:layout_width="300dp"        android:layout_height="wrap_content"        android:layout_gravity="center"        android:layout_marginTop="200dp"android:text="测试" /></LinearLayout>

    3.4功能测试

    1、将zjmlibiary module包在主工程app目录下的build.gradle中进行配置

    implementation project(':zjmlibiary')

    在setting.gradle中进行添加引用

    Includle ‘:zjmlibiary’

    2、简单的功能已经编写完了,我们先来验证下是否正常使用:

    运行app项目,如下图所示

    跑起来后,点击跳转按钮,会发现进入了sdk的页面,再点击按钮,会弹出libiary包中的提示。之后你可以根据自己的需求,继续开发不同的功能,并测试。

    3.5、打包sdk

    基本的流程开发已经完成了,下面我们要进入主题了,如何打包aar文件

    3.5.1本地打包

    1、配置gradle脚本编译打包aar文件

    在zjmlibiary目录下新建zjmlibiary-release-aar.gradle文件具体代码如下

    // 1.maven-插件apply plugin: 'maven'// 2.maven-信息ext {// ext is a gradle closure allowing the declaration of global properties    PUBLISH_GROUP_ID = 'zjmlibiary'    PUBLISH_ARTIFACT_ID = 'zjmsdk'    PUBLISH_VERSION = android.defaultConfig.versionName}// 3.maven-输出路径uploadArchives {    repositories.mavenDeployer {//这里就是最后输出地址,在自己电脑上新建个文件夹,把文件夹路径粘贴在此//注意”file://“ + 路径,有三个斜杠,别漏了        repository(url: "file:///Users/zhangjianmin/tencentIm")        pom.project {            groupId project.PUBLISH_GROUP_ID            artifactId project.PUBLISH_ARTIFACT_ID            version project.PUBLISH_VERSION        }    }}//以下代码会生成jar包源文件,如果是不开源码,请不要输入这段//aar包内包含注释//task androidSourcesJar(type: Jar) {//    classifier = 'sources'//    from android.sourceSets.main.java.sourceFiles//}////artifacts {//    archives androidSourcesJar//}

    2、在zjmlibiary的build.gradle中添加配置:

    apply from: 'zjmlibiary-release-aar.gradle'

    编译项目,

    androidstudio右侧gradle中找到zjmlibiary module,此时,会生成 一个uploadArchives;

    点击uploadArchives开始构建,在配置的自定义路径下 会生成aar文件,此时,本地打包aar已经成功;如下图所示

    本地生成文件:

     

    3.5.2maven仓库打包

     

    相关文章

      网友评论

          本文标题:Android Libiary打造自己的SDK,并在maven发

          本文链接:https://www.haomeiwen.com/subject/qzicjrtx.html