赞
踩
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文件,添加如下代码:
- repositories {
- flatDir{ dirs 'libs' }
- }
compile(name:'aarlibrary', ext:'aar')
3)在新的项目里面启动aar里面的Activity
- Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
- /**
- * 1、这里的packetname 是新项目的包名
- * 2、classname 填写aar里面的Activity的:包名+Activity名称
- */
- intent.setComponent(new ComponentName("com.aarapplication",
- "aardemo.com.aarlibrary.AARActivity"));
- startActivity(intent);
把一个完整的项目打包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来的代替,否则空指针等其他错误。
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- if (v.getId() == R.id.linear_left) {
- ((Activity) mContext).finish();
- } else if (v.getId() == R.id.btn_submit) {
- Intent intent = new Intent(mContext, MainActivity.class);
- mContext.startActivity(intent);
- }
- }
4、操作上面,把一个简单module打包aar的3、4、5步,即可把这个项目引用到一个新的项目中去。
注意:aar里面的Activity的名称和布局文件的名称不要跟新项目的的Activity的名称和布局文件的名称一致,这样会出现冲突,导致程序异常闪退。
aar打包参考文章:https://www.jianshu.com/p/29803da4d117
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。