更新时间 20190315
一、 解决cpp 文件中无法弹出辅助信息,无法点击打开系统类的原文件等问题,例如输入 #inc ,正常是会提示 #include <>
解决方法:
1、升级as到3.3.2,新建一个含c++的项目,这样做可以确保你的环境配置是正确的
2、把 旧项目gradle的版本和 android plugin verson的版本修改到与刚建的项目一样。
3、删除下面两个参数 -fexceptions ,-frtti
AS 3.3 把 下面两个选项删除了
Runtime Type Information Support
Exceptions Support(-fexceptions)
------------------------------------------------------------------------------------------
这篇文章说的是在没有勾选的情况下如何增加ndk。
准备工作,临时新建一个含有ndk的项目B。很多文件可以直接从这个项目中copy过去。(AS 3.3 后,在创建页面的最下方可以找到新建C++的项目选项)
1、在main文件夹下新建名为“cpp”的文件夹
2、在cpp文件夹下新增一个.cpp文件(或者把项目B中的.cpp文件copy过来,记得修改cpp方法中的包名)。
3、copy项目B中的CMakeLists.txt到"app"文件夹下(与app.iml同一层),注意:这个名字(“CMakeLists.txt”)不可以修改
4、在app文件夹下的build.gradle中增加以下参数
(1)android.defaultConfig节点下增加
externalNativeBuild {
cmake {
cppFlags ""
}
}
(2)android节点下增加
externalNativeBuild {
cmake {
path "CMakeLists.txt"
}
}
5、重新build一下,按一下"sync project with gradle"
这样就可以增加ndk,可以看到新建的"cpp"文件夹变成了蓝色(与main中的java文件夹一样的颜色)
PS:
调用cpp方法
static {
System.loadLibrary("native-lib");
}
public native String stringFromJNI();