1、项目导出Apk反编译到res/values/目录下找到'public.xml'和'ids.xml'两个文件;
2、项目设置为libray项目;
3、项目"Clean...",如果出现switch语句错误,一般要修改成if-else;
[选择switch整个语句-右键-Quick Fix-Convert 'switch' to 'if-else']
4、拷贝上面提到的'public.xml'和'ids.xml'两个文件到项目res/values目录下,这一步是定义资源ID,防止在Library项目引用的资源文件找不到;
5、替换"@+id/"为"@id/";
6、修改项目中资源命名,可以看到项目gen目录下生成有项目的R文件,这里包含项目中引用到所有的资源,根据生成的R.java文件重命名项目中所有引用到的资源(这里可以添加前缀)。如此为了防止第三方项目引用Library项目时出现重复定义的情况,本步工作量大,建议写查找替换程序。
7、拷贝AndroidManifest.xml文件中的组件和权限到项目中,注意组件要使用全包名。
8、提供Library的入口程序给项目启动。
9、打包调试Library项目,基本不会有什么新问题。
10、修改Library项目:project.properties文件中android.library=true去除,导出Apk软件包(可以添加代码混淆,注意Library项目的入口程序不能混淆)反编译提取出classes.dex为jar包;
11、使用zip打开jar包R.class、R$anim.class等内部类;
12、jar放到Library项目并删除libs中其他jar包文件,删除src下的源码文件,并改回Library项目
至此完整的流程已全部做完,这时就可以提供出Library项目给第三方使用,最好写一个使用文档了
来源:oschina
链接:https://my.oschina.net/u/131423/blog/503943