Android封装SDK的使用
介绍 Android 封装 SDK使用前,先了解几个文件格式:
so 库:是 C 或 C++ 语言而打包成的库;
jar 包:里面包含了 class 文件与清单文件,不包括图片、页面等资源文件,是 Java 常用的方式;
aar 包:里面包含了所有资源,包括图片、页面等,是 Android 常用的方法;
了解完这三种文件格式,下面就来介绍一下用 AS 打 aar 包;
新建一个项目,完成后,点击 File ==> New ==> New Module ,如下图所示:
然后选择第二个 Android Library ,如下图所示:
然后完成即可,就可以看到,已经创建好了 Module ,如下图:
然后在 app 的 build.gradle 下添加下面的代码,应用 mylibrary :
implementation project(path: ':mylibrary')
如下图所示:
编译完成,为了测试 mylibrary 库,去添加一个 LibraryActivity ,里面的代码如下:
/** * wuqingsen on 2019-11-21 * Mailbox:1243411677@qq.com * annotation: */public class LibraryActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_library); }}
新建 activity_library.xml 文件,代码如下:
代码添加完成,给出完整图片,方便观察:、
最后去 app 的 AndroidManifest.xml 文件中加入下面代码:
完整图片如下,不要加错了:
为了测试该 activity ,在 MainActivity ,加入跳转,代码如下:
public class MainActivity extends AppCompatActivity { Button btn_SDK; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn_SDK = findViewById(R.id.btn_SDK); btn_SDK.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this, LibraryActivity.class); startActivity(intent); } }); }}
加入完成,运行,如下图所示:
可以看到,成功进入到的 SDK 中;
下面就来把 mylibrary 打包成 aar 格式的包,在 Terminal 中输入下面的命令,进行打包:
gradlew assembleRelease
打包成功,如下图所示:
然后去 mylibrary ==> build ==> outputs ==> aar 就可以看到我们打好的 aar 包了,如下图:
下面来测试一下这个 aar 文件是否可以正常使用,先将改 aar 文件放到 libs 文件夹下面,如下图:
再将 mylibrary 删除,点击 File ==> Project Structure ,方法如下图:
再去 app 下的 build.gradle 中添加如下代码:
implementation files('libs/mylibrary-release.aar')
如下图所示:
编译后,没有错误后,运行和上面 gif 图中效果一样就对了,OK 我报出了下面的错误:
Installation did not succeed.The application could not be installed.Installation failed due to: 'device 'DRGGAM0850203673' not found'Retry
将手机上面的该 APP 卸载,再运行,OK 成功。
到这里, AS 封装一个 SDK 的简单实用就完成了,可以根据项目来改变 SDK 中的代码,以便别人使用。
如果有兴趣可以往下看;
打开我们的 mylibrary,可以看到里面包括 class 文件和 res 全部内容,如下图所示:
到这里就结束了。
更多相关文章
- NPM 和webpack 的基础使用
- 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
- Android平台架构及特性(1)
- Android仿人人客户端(v5.7.1)——新鲜事之完整篇
- Android中原始资源文件使用详解
- Android设备之间通过Wifi通信的示例代码
- 利用HTML5开发Android笔记
- Android(安卓)Layout布局文件里的android:layout_height等属性为
- Android(安卓)ActionBar的源代码分析(三)