Android
太陽金貨
这个作者很懒,什么都没留下…
展开
-
JNI接口
JNI接口1.使用JNIEXPORT、JNICALL和包名限定native方法,这样jvm在加载so的时候,能够找到对应的成员方法JNIEXPORT void JNICALL Java_com_midea_xiexb4_nativetest_JniUtil_getStringFromJNI (JNIEnv * env, jobject obj);如果对包名路径或者参数不熟悉,可以先编...原创 2020-12-26 11:44:14 · 526 阅读 · 0 评论 -
AOSP与Ninja
AOSP与NinjaAndroid N中,使用了ninja作为整个AOSP的编译工具build/core/config.mk通过包含clang/versions.mk和clang/config.mk确定CLANG_CXX = /prebuilts/clang/host/linux-x86/clang-2690385而main.mk中包含了ninja.mk,该文件确定KATI_CXX和MA...原创 2020-12-26 11:48:37 · 758 阅读 · 0 评论 -
Andoid NDK编译分析
MSM8909交叉工具链使用:LittleKernel : prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin/Kernel : prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/Framework : clang+llvmClang的发展libc++.so是针对Clang编译器特别重...原创 2020-12-26 11:48:29 · 534 阅读 · 0 评论 -
Android常用修改
1.设置系统默认语言 1)进入build/target/product目录,修改文件core_base.mk的PRODUCT_PROPERTY_OVERRIDES 值,例如,欲修改为默认中文,则增加语句如PRODUCT_PROPERTY_OVERRIDES := \ro.config.notification_sound=OnTheHunt.ogg \ro.config.alarm_al原创 2016-12-19 11:17:45 · 3461 阅读 · 1 评论 -
Android 调试
打开调试信息 #define LOG_TAG “AndroidRuntime” #undef NDEBUG //打开LOGV/LOGI/LOGD #define LOG_NDEBUG 0 //打开LOGV,为1时表示禁止 #define LOG_NIDEBUG 0 //打开LOGI,为1时表示禁止 #define LOG_NDDEBUG 0 //打开LOG原创 2016-12-19 11:17:26 · 709 阅读 · 0 评论 -
Android应用反汇编
一般的apk重命名为.zip后打开,可以看到根目录下有class.dex和class.odex(对class.dex进行优化后的可执行代码) 使用一些工具,可以将odex去优化成dex,dex文件可以通过反编译成jar,再通过工具可以将jar转换成java。1.一般的apk可以使用smali2java进行反汇编查看; 2.有一些apk使用了混淆编译,可以使用 安卓逆向助手 进行反编译,编译成sm原创 2017-03-17 18:02:00 · 1141 阅读 · 0 评论 -
Android源码下device目录的分析
一般源码的编译前都会执行lunch命令,选择编译目标: source build/envsetup.sh lunch BUILD_BUILDTYPE 其中BUILDTYPE可以为user、userdebug、eng,排行越靠后,调试信息越多,权限越大,而其中的BUILD编译目标就是build目录下产品配置信息决定的。vendorsetup.shbuild目录一般结构为: build-> co原创 2017-03-17 17:04:07 · 7722 阅读 · 0 评论 -
Android下的驱动开发框架
(1)Kernel层:由于Android使用的是Linux内核,因此底层驱动开发是一样的,基本思路就是分配、设置、注册一个硬件驱动实例 (2)可以像在Linux下驱动开发一样,编写应用程序读写设备文件节点,测试内核驱动,通过编译android模块,将这个应用程序集成到文件系统下面,系统启动后通过adb shell进入/system/bin下面可以找到可执行文件 (3)HAL层:将底层驱动抽象成为原创 2015-12-05 20:16:31 · 663 阅读 · 0 评论 -
Android镜像与启动流程
对于RK平台上电提供了2K自动搬运到SRAM的机制,方便初始化DDR,并且进行后续代码引导,同时厂商还提供了一级boot(MiniLoader),方便从nand启动:MiniLoader.bin(单独更新Loader的时候,需要连parameter.txt一起更新)rk312x.parameter.txt(记录了单板ATAG、CMDLINE、分区信息等,Uboot从中获得信息传递给Kernel)ub原创 2016-12-08 23:21:42 · 2174 阅读 · 0 评论