Android一个完整的项目转成SDK提供给第三方嵌入

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项目给第三方使用,最好写一个使用文档了


你可能感兴趣的:(android,library)