这里NDK主要实现的功能是:
根据当前应用的apk+我们从服务端上下载而来的增量文件去合成新的apk
为了方便,我们这里的增量文件直接放在本地
提取本应用apk所在的路径
public class ApkExtract {
public static String extract(Context context) {
context = context.getApplicationContext();
ApplicationInfo applicationInfo = context.getApplicationInfo();
String apkPath = applicationInfo.sourceDir;
Log.d("hongyang", apkPath);
return apkPath;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
然后配置ndk的基础教学
https://blog.csdn.net/qq_36523667/article/details/80093935这篇文章可以解决你的所有问题
然后根据鸿洋文章中ndk的配置再在上文的ndk基础配置上进行一点点小小的变化,在cmakelistsfile中添加所有.c和.h的依赖,不断make project并修改错误,就可以了
成功
生成so库只是开始!然后还要去合成。。
有无数的bug需要去修改,一共在搞了3-4个小时后,终于成功生成了新的apk并且安装了。。。
本文你可以提升ndk工具的使用能力以及纠错的逻辑能力,很值得一试!这里就不多写详细步骤了,有bug的可以留言