Android中将Activity打入jar包供其它app调用的实现方法
来源:互联网 发布:caxa自动编程 编辑:程序博客网 时间:2024/05/17 02:46
Android打jar包通常不会出现将Activity打入jar包的情况,但若确有“工程A要调用工程B的Activity,工程B的代码又不能与A放在一起编译”的需要, Android也还是可以做到的,步骤如下:
1. 确定工程A和工程B是否有同名的Activity文件,若有,则要将其中一个工程的相应文件改名;
2. 确定工程A和工程B的res目录下是否有同名的layout/anim/drawable文件,若有,则要将其中一个工程的相应文件改名;
3. 确定工程A和工程B的values目录下的strings.xml文件中是否有同名的string name,若有,则也要将修改其中一个工程相应的string name。建议将被调用的工程的string name都加一个前缀;
4. 参照第3点,检查values目录下的colors.xml, styles.xml等文件,不要出现同样的color name和style name;
5. 对于工程B,被编译为jar包后,资源ID(比如R.id.xxxxx)不再是常量,所有需要确认工程B中是否有如下代码:
switch (xxx) {
case R.id.xxxxx
若有,需要改为if (R.id.xxxxx == xxx);
6. 将工程B中的libs\armeabi目录下的.so文件转移到工程A的对应目录中,注意,是转移,不是复制;
7. 将工程B中的res目录合并到工程A的res目录:
a. 对于仅存在于工程B中的文件或目录,则将其复制到工程A;
b. 对于两边都存在的文件,则需要将工程B中的文件内容添加到工程A的对于文件中;
8. 将工程B的AndroidManifest.xml中的内容添加到工程A的AndroidManifest.xml中,包括uses-permission, activity等;
9. 将工程A和工程B的package name改为一样;
10. 选择工程B,打开属性对话框,在Android页面勾选“Is Library”,然后执行Project菜单中的Build Project操作;
11. 将工程B中的libs目录下的.jar文件复制到工程A的libs目录中,并将工程B的bin目录下新生成的.jar文件也复制到工程A的libs目录中,更新.classpath;
12. 在工程A中实现对工程B的Activity的调用逻辑,编译运行工程A。
1. 确定工程A和工程B是否有同名的Activity文件,若有,则要将其中一个工程的相应文件改名;
2. 确定工程A和工程B的res目录下是否有同名的layout/anim/drawable文件,若有,则要将其中一个工程的相应文件改名;
3. 确定工程A和工程B的values目录下的strings.xml文件中是否有同名的string name,若有,则也要将修改其中一个工程相应的string name。建议将被调用的工程的string name都加一个前缀;
4. 参照第3点,检查values目录下的colors.xml, styles.xml等文件,不要出现同样的color name和style name;
5. 对于工程B,被编译为jar包后,资源ID(比如R.id.xxxxx)不再是常量,所有需要确认工程B中是否有如下代码:
switch (xxx) {
case R.id.xxxxx
若有,需要改为if (R.id.xxxxx == xxx);
6. 将工程B中的libs\armeabi目录下的.so文件转移到工程A的对应目录中,注意,是转移,不是复制;
7. 将工程B中的res目录合并到工程A的res目录:
a. 对于仅存在于工程B中的文件或目录,则将其复制到工程A;
b. 对于两边都存在的文件,则需要将工程B中的文件内容添加到工程A的对于文件中;
8. 将工程B的AndroidManifest.xml中的内容添加到工程A的AndroidManifest.xml中,包括uses-permission, activity等;
9. 将工程A和工程B的package name改为一样;
10. 选择工程B,打开属性对话框,在Android页面勾选“Is Library”,然后执行Project菜单中的Build Project操作;
11. 将工程B中的libs目录下的.jar文件复制到工程A的libs目录中,并将工程B的bin目录下新生成的.jar文件也复制到工程A的libs目录中,更新.classpath;
12. 在工程A中实现对工程B的Activity的调用逻辑,编译运行工程A。
- Android中将Activity打入jar包供其它app调用的实现方法
- Android 将Activity打成jar包 供第三方使用 彻底解决XML 图片 文字资源不可悲打入到jar包的问题!
- Android 将Activity打成jar包供第三方调用
- Android 将Activity打成jar包供第三方调用
- Android 将Activity打成jar包供第三方调用
- Android 将Activity打成jar包供第三方调用
- AS编写sdk并打成jar包供其它APP调用
- AS编写sdk并打成jar包供其它APP调用
- 关于Android将Activity打成jar包供第三方调用的解决方案
- Android将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)
- Android将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)
- Android将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)
- Android将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)
- Android将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)
- Android将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)
- 【Android】将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)
- Android将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)
- Android将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)
- [深入浅出Cocoa]iOS程序性能优化
- 获取<s:select>的listValue
- 致命错误rc1015,无法打开afxres.h文件
- Linux内核-内存管理之高端内存
- 解决执行存储过程出现权限不足问题(ORA-01031)
- Android中将Activity打入jar包供其它app调用的实现方法
- asp.net中的ResolveUrl 完美解决方案
- 华为:为什么美国更需要华为 而不是华为更需要美国
- vc助手空格不能选取,直接换行
- 2013年各大小IT公司待遇,绝对真实,一线数据!(初版)
- codeblock 配置 mysql 环境方法及常见问题
- 九度oj1004Median
- String null java.lang.nullpointer exception
- [Win32]只允许最大化最小化窗口,禁止双击标题栏、拖动窗体、点击复原按钮来改变窗口大小