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