移植源码项目到AS
为了方便代码修改和编译,我们可以适当将源码项目导入配置到android studio进行开发,以下用例为MTvHotkey项目移植到studio中
- 找到相应的MTvHotkey项目源码根路径下/android/device/mstar/common/apps/拷贝出MTvHotkey工程
- 新建Android studio项目,命名以相应工程相似,建立工程模板项目
- 将源码项目拷贝到对应路径下(提前删除原项目中的相关文件,避免覆盖重复)
- 修复依赖问题,导入相关库文件(很棘手的步骤,下面详细介绍)
- 删除相应的测试用例以及相应库文件,减少依赖
修复导入项目依赖
导入MTvHotkey项目,发现TvCommonManager报错,原因没有添加对象的库文件
查看源项目中的Android.mk文件,有如下引用:
LOCAL_STATIC_JAVA_LIBRARIES := android-support-v13
LOCAL_JAVA_LIBRARIES := com.mstar.android到源码路径下找到编译生成的中间文件com.mstar.android_intermediates文件夹,找到class.jar,这里解压可以看到其文件夹中对应文件与原项目依赖文件相一致.这里直接找到最终生成的文件发现其已经被打包成dex文件,不能作为库文件使用
路径:/android/out/target/common/obj/JAVA_LIBRARIES/
拷贝class.jar文件到studio工程下,添加为库文件(可以适当重命名)
这时候发现可以找到TvCommonManager不报错了
引用support-v4包出现错误,添加对应的依赖,注意依赖版本和编译版本相一致
implementation ‘com.android.support:support-v4:23.0.0’
sync项目,发现Default Activity not found,原因是这个项目没有启动界面,在项目配置的Launch Options中选择Launch Nothing
OK!