新公司取名字大全免费东莞短视频seo优化
如果文章字体看得不是很清楚,大家可以下载pdf文档查看,文档已上传~oo~
7、安装加密APK
需要修改文件如下:

 相对Android4.2改动还是蛮大的,有些文件连路径都变了:
 //Android4.2
 1、frameworks/native/libs/utils/ZipFileRO.cpp
 2、dalvik/libdex/ZipArchive.cpp
 3、libcore/luni/src/main/java/java/util/zip/ZipFile.java
 4、libcore/luni/src/main/java/java/util/zip/ZipEntry.java
 5、libcore/luni/src/main/java/java/util/zip/ZipInputStream.java
//Android4.4
 1、frameworks/base/libs/androidfw/ZipFileRO.cpp
 2、dalvik/libdex/ZipArchive.cpp
 3、libcore/luni/src/main/java/java/util/zip/ZipFile.java
 4、libcore/luni/src/main/java/java/util/zip/ZipEntry.java
 5、libcore/luni/src/main/java/java/util/zip/ZipInputStream.java
 5、libcore/luni/src/main/java/java/util/zip/ZipInputStream.java
修改完后安装加密的APK,运行异常如下:
 
 经过打印调试发现ZipFile.java文件没有完全改对
再次运行如下异常:
 
把安装签名校验去掉就OK了,因为我们的加密APK是不要校验的,这里改为所有APK都不要签名校验了,后面再优化下,只把自己的APK去掉校验,而第三方的还是要签名校验的!
 
再次运行:
 
 打开运行,不容易啊!
 
8、APK加密
1、加密工具代码在Android源码目录的external/apkencryptor下:
 
2、修改相关的makefile,把apkencryptor加入到PRODUCT_PACKAGES中,如修改build/target/product/base.mk(H10,OK1000没有修改也是没有问题的),
 make之后会在out/host/linux-x86/bin/目录下生成apkencryptor可执行程序:
 
3、在打包system.img时先调用一下这个可执行程序对各目录下的apk进行加密,如修改build/core/Makefile:
 
4、ENCRYPTAPK_TOOL定义在build\core\config.mk中:
 ENCRYPTAPK_TOOL := $(HOST_OUT_EXECUTABLES)/apkencryptor
 
5、TARGET_OUT_APPS和TARGET_OUT_PREINSTALL_DEL都定义在build\core\envsetup.mk中:
 TARGET_OUT_PREINSTALL := $(TARGET_OUT)/preinstall
 TARGET_OUT_PREINSTALL_DEL := $(TARGET_OUT)/preinstall_del
 
6、编译搞定…
9、新增路径接口
运行测试程序出现异常:
 
同步4.2源码:
 rk3188_android4.4.1/frameworks/base/core/java/android/os/Environment.java
编译:make -j32
 编译出现异常:
 
还能找到这样一些提示,很人性化啊!
 
由于我们提供的API是给开发者使用,要对我开放,所以我们用第二种方式:
 make update-api
再次编译通过,烧录img,再次运行测试程序:
 
 顺利完成!!!
10、屏蔽HOME键
把之前OK1000移植过来就OK了,涉及到这三个文件:
 frameworks/base/services/java/com/android/server/wm/WindowManagerService.java
 frameworks/base/core/java/android/view/WindowManager.java
 frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
不过先对于Android4.2变化还是蛮大的:
 WindowManager.java真加了很多标志位,之前变量名没有提供出来,所以现在的值固定了,和原生的有冲突了!后面看看怎么改。
 PhoneWindowManager.java 函数的逻辑有了改变,目前的逻辑更好,更清晰。
具体改动参考:
 Android中间件轨迹_1.
觉得本文对你有用,麻烦点赞或关注或收藏,你的肯定是我创作的无限动力,谢谢!!!
