Android
echo_developer
这个作者很懒,什么都没留下…
展开
-
Android NDK/JNI cmake开发入门教程
本人使用Android Studio3.0进行JNI开发,在Android Studio2.2之前都是使用Android.mk进行开发,Android Studio2.2及以上采用更加简便的NDK + Cmake + Cmakelist.txt开发。一、首先新建Android Studio项目,勾选C++支持选项,Android Studio会自动构建好JNI HelloWorld项目及其目录...原创 2018-11-15 17:40:32 · 192 阅读 · 0 评论 -
Android动态申请SDcard权限
Android6.0后必须使用动态申请SDcard权限,否则会抛出"java.io.FileNotFoundException"异常。try { //检测是否有写的权限 int permission = ActivityCompat.checkSelfPermission(this, "android.permission.WRITE_EXTERNAL...原创 2018-11-17 11:06:26 · 2038 阅读 · 0 评论 -
NDK开发armeabi下字节对齐问题
本人使用Android studio进行NDK开发,模拟器测试没问题,真机测试出现bug:Fatal signal 7 (SIGBUS), code 1, fault addr 0x86a16861 in tid 18277 (Thread-3484)原因:默认字节对齐方式下访问float指针会引发此错误,模拟器是x86,而真机是arm。解决办法:手动设置字节对齐方式#pragm...原创 2018-11-24 13:27:56 · 1244 阅读 · 0 评论 -
Android NDK添加NEON以及cpufeatures支持
本人使用Android studio3.0进行NDK开发,由于Android develop官网文档是针对2.2版本以下,这里为2.2以上版本的cmakelist配置做以下纪录:一、添加NEON支持:在build.gradle(app)中添加:externalNativeBuild { cmake { cppFlags "" arguments...原创 2018-12-13 16:35:51 · 1902 阅读 · 4 评论 -
Android Studio:跑过的项目突然出bug,没经过任何改变。
遇到这种玄学bug或者build没问题,run出问题有时只要close项目再打开一次就可以解决不知道为啥。。。原创 2018-12-31 16:34:40 · 293 阅读 · 0 评论 -
如何解决WARNING: ABIs [armeabi-v7a,armeabi] set by 'android.injected.build.abi' gradle flag contained 'A
在app:build.gradle中添加:externalNativeBuild { cmake { cppFlags "" arguments "-DANDROID_STL=c++_shared" }}原创 2018-12-31 16:44:48 · 9938 阅读 · 2 评论 -
Android RecyclerView用法
1.导入v7包。app下gradle文件加入implementation 'com.android.support:recyclerview-v7:28.0.0'注意版本号应与v7包相同。2.创建Adapter。创建自定义Adapter,定义内部类ViewHolder继承自RecyclerView.ViewHolder,static class ViewHolder e...原创 2019-02-17 14:30:31 · 230 阅读 · 0 评论 -
JNI子线程中调用Activity中的方法
如果不涉及多线程,可以通过JNIEnv*获取jclass与jmethodID并通过CallMethod直接调用Java方法。但是,在子线程中,由于JNIEnv是线程相关的,无法获取到jclass jmethod等问题,很容易导致程序崩溃(还是那种一大坨、看不懂的红字...)。因此,需要借助“进程”相关地JavaVM全局地获取JNIEnv实现调用Java方法。思路:1.构造全局的J...原创 2019-05-24 18:12:42 · 1138 阅读 · 2 评论