Android 两个项目之间互相引用和调用

时间:2022-03-09 20:13:56

引用是指在编译时两个独立的Project由于某种原因需要合并到一个APK中,以增强该应用的功能。

调用则是两个独立的APK之间的互相调用。

 

两个工程互相引用有两种方法:

1.将A工程打成JAR包,引用到B工程。但是Jar包的Res资源是不能被B工程引用的。如果需要调用Jar包中的Acticity,还需要在B工程的Manifest文件里添加相应的声明,但是这样的写法容易混淆,而且不容易被人理解。建议只把功能性的类打到Jar包中就可以了。

 Jar包的打法:a.选中工程右键选择Export

                       b.选择Java-->JAR file

                       c.将你需要包入JAR包的文件勾选即可。(一般只勾选src文件)

 

2.将一个工程设置成库文件,引用到另一个工程

    参见:http://www.cnblogs.com/vaiyanzi/archive/2012/02/20/2358910.html

 

两个APK之间互相调用:

最简单的方法就是用 ComponentName 来启动另个APK。

如果你要启动的APK中的Activity不是该APK的main Launcher activity。那么你需要修改被启动APK的Manifest文件中你要启动的Activity的Exported属性为true,这样就可以启动该Activity了。

         ComponentName componetName = new ComponentName(
//这个是另外一个应用程序的包名
"com.hooy.apk2",
//这个参数是要启动的Activity
"com.hooy.apk2.Pay_Activity");
// Intent intent= new Intent("chroya.foo");
Intent intent= new Intent();
//我们给他添加一个参数表示从apk1传过去的
Bundle bundle = new Bundle();
bundle.putString("arge1", "这是跳转过来的!来自apk1");
intent.putExtras(bundle);
intent.setComponent(componetName);
startActivity(intent);