NDK版本:android-ndk-r21b-linux-x86_64
1. android studio无法连接小米手机问题解决
https://blog.csdn.net/u012522829/article/details/98954848
进入“关于手机”--> 连续点击MIUI版本这一行,即可进入开发者模式,之后再“更多设置”就会出现“开发者选项”,进去可以看到USB调试选项等开关。
确保手机"开发者模式"、“USB调试”、"USB安装"都打开,android studio连接调试,一切恢复正常。
2. ANDROID STUDIO3.5版本调试真机时无法安装APK,报错INSTALLATION FAILED DUE TO: 'FAILED TO CREATE INSTALL SESSION WITH
Android Studio3.5版本报错Installation failed due to: 'Failed to create install session with - 灰信网(软件开发博客聚合)
https://www.freesion.com/article/153598403/
app->配置-> general页 -> 点击下面的Gradle-ware Make,弹出对话框,输入 :app:installDebug
3. Clang编译C++代码运行错误:Illegal instruction
//test.cpp
//armv7a-linux-androideabi24-clang++ -o testndk3 hello_ndk_main.cpp
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int regfunc()
{
printf("## hello 1130.\n");
printf("## hello 1130.\n");
//return 9;
}
int main(int argc, char *argv[])
{
printf("##hello ndk main success22446690.\n");
regfunc();
printf("## hello 30.\n");
return 0;
}
regfunc()的返回值语句注释掉时运行到这个位置就报错Illegal instruction
加上返回值就正常。
好奇葩,原因未知。
如果是文件后缀改为test.c不会出错。
4. 主程序在Android下使用SDL异常
原来linux下的主程序调用sdl正常使用。
现在用ndk编译sdl,主程序,移植到android下运行,异常了,主程序中的main函数入口异常,我在入口处加了最简单的打印都没有被执行。靠,后来逐步排查才发现是sdl的问题,编译android版本的sdl会导致异常。原来是sdl_main.h文件里,如果是android平台,main会被重定义sdl_main(),难过会这样。我的理解是,可能在安卓上运行都是以so的方式,所以才会重定义main 。