当前位置:   article > 正文

android studio 将完整项目打包aar,快速换壳,或给第三方使用。_android项目打包成模块给另外app使用

android项目打包成模块给另外app使用

时隔多年,公司又提出了新的需求,之前的打包jar已经满足不了合作方的需求了。合作方:你们的jar,没有页面,需要时间去开发,给我一个直接能用的。程序员:你有钱,你说什么都对。这个需求首先让我想到的就是换壳,直接把这整个项目打包aar。在合作方公司App里面直接引入,启动APP时直接加载aar里面的页面,达到零开发成本。进入正题:

  • 简单的module打包aar
  • 完整项目打包aar

简单的module打包aar

1.新建一个工程,然后在工程里新建一个module。

2.到工程App的build中要加入aarlibrary 这个依赖model,方便编写完module后执行app调试。

3、把编写好的module打包aar。

点击最右边的gradle面板,选择刚才创建的module进行编译,CommandLine 指令为assemble,具体操作步骤看图:

4、编译完成后会在module下的build/output文件夹,里面生成两个aar文件,我们一般选用release版本的aar文件。

这时候简单的module打包aar就完成了,aar里面是包含布局文件资源的。我们需要把aar复制到我们新的项目中去使用。

5、新项目引用打包好的aar。

1)将打包好的aar文件复制到项目中lib中。

2)修改app下的build.gradle文件,添加如下代码:

  1. repositories {
  2. flatDir{ dirs 'libs' }
  3. }
compile(name:'aarlibrary', ext:'aar')

3)在新的项目里面启动aar里面的Activity

  1. Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
  2. /**
  3. * 1、这里的packetname 是新项目的包名
  4. * 2、classname 填写aar里面的Activity的:包名+Activity名称
  5. */
  6. intent.setComponent(new ComponentName("com.aarapplication",
  7. "aardemo.com.aarlibrary.AARActivity"));
  8. startActivity(intent);

完整项目打包aar

把一个完整的项目打包aar,也就是换壳,常用于把老APP换个壳,变成一个新的APP上线。把app打包aar其实跟module打包aar思路是一样的,我们要先把app改成module,再打包aar即可。

1、修改app的build.gradle,把它改成module。

将app中的apply plugin: 'com.android.application' 替换成apply plugin: 'com.android.library'.如图:

2、修改app的AndroidManifest文件

将application里面的一些里的name,icon,label,theme等删掉,activity的intent-filter删掉,

3、修改switch case,使用if else来的代替。

library中的不可以使用switch case,必须要用if else来的代替,否则空指针等其他错误。

  1. @Override
  2. public void onClick(View v) {
  3. // TODO Auto-generated method stub
  4. if (v.getId() == R.id.linear_left) {
  5. ((Activity) mContext).finish();
  6. } else if (v.getId() == R.id.btn_submit) {
  7. Intent intent = new Intent(mContext, MainActivity.class);
  8. mContext.startActivity(intent);
  9. }
  10. }

4、操作上面,把一个简单module打包aar的3、4、5步,即可把这个项目引用到一个新的项目中去。

注意:aar里面的Activity的名称和布局文件的名称不要跟新项目的的Activity的名称和布局文件的名称一致,这样会出现冲突,导致程序异常闪退。

未完。。。

要打包jar的点击这里:android studio 将引用第三方jar和.so的项目打包jar并混淆

aar打包参考文章:https://www.jianshu.com/p/29803da4d117

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/471720
推荐阅读
相关标签
  

闽ICP备14008679号