原创 JNI(連接Java代碼與原生代碼的橋樑)

一、前言 我們在學習完AndroidStudio NDK環境3中搭建方式和Android NDK構建系統後,已經明白瞭如何創建一個簡單的Android NDK工程。本篇博客將以前兩篇爲基礎,更深入的瞭解NDK開發。學習如何通過JNI技

原创 Android NDK構建系統

一、前言 當我們把C/C++代碼寫好了之後,如何編譯成動態庫(Java端代碼調用)?這就需要我們編寫一個構建文檔(Android.mk/Application.mk) NDK交叉編譯器根據構建文檔編譯出我們需要的、Java端可以調用的

原创 AndroidStudio NDK環境3中搭建方式

一、前言 如今Android開發IDE都是使用的AndroidStudio,之前我寫過一篇文章介紹的是如何在Eclipse中搭建NDK環境 Android NDK --初始android NDK 這邊博客介紹下在AndroidStud

原创 ijkplayer程序結構整理

整個程序的結構從文件: ijkplayer_jni.c開始: 參照: static JNINativeMethod g_methods[] = { …… } 一、在JNI_OnLoad()/ijkplayer_jni.c 調用i

原创 Android Studio Java代碼調試及NDK調試

Android Studio Java代碼調試 debug模式斷點調試 寫一個簡單的調試程序,我們先來一個for循環; 設置斷點(點擊紅點位置添加或取消斷點) 點擊debug模式運行 查看調試面板 簡單調試 step ov

原创 C語言SOCKET編程指南

1、介紹 Socket 編程讓你沮喪嗎?從man pages中很難得到有用的信息嗎?你想跟上時代去編Internet相關的程序,但是爲你在調用 connect() 前的bind() 的結構而不知所措?等等… 好在我已經將這些事完成了,

原创 Android JNI局部引用表溢出:local reference table overflow (max=512)

轉載:http://blog.csdn.net/xyang81/article/details/44873769 在《JNI局部引用、全局引用和弱全局引用》這篇文章中詳細介紹了在JNI中三種引用的使用方式,區別、應用場景和開發注意事項。由

原创 在編譯好的SDL2庫引入SDL2_image庫的編譯步驟

一 .前言   由於在使用SDL2開發的過程,需要加載png圖片,而SDL2本身不提供加載png圖片的功能實現。所以需要在引入SDL2_image庫。   如果想查看Android Studio下怎麼編譯SDL2庫,請查看 http:/

原创 JNI異常處理

文章轉載:http://blog.csdn.net/xyang81/article/details/45770551 異常簡介 異常,顯而意見就是程序在運行期間沒有按照正常的程序邏輯執行,在執行過程當中出現了某種錯誤,導致程序崩潰。在Ja

原创 ffmpeg 新老接口問題及對照集錦

ffmpeg源碼包裏面有個apichangs文檔,裏面有各種接口改變的記錄,如果你發現接口不能用了,可以去搜索那個文檔,可以找到對應的新接口,然後到新接口對應的頭文件中找到說明文字 網上很多關於ffmpeg (libav)的資料都是N年以

原创 Android引用Library的若干問題(全都是坑啊,一定要注意了)

1.庫工程裏面的assets文件夾無用,不會被打包到APK 2.庫工程裏面的AndroidManifest.xml無用,要聲明Activity,必須寫到主工程 3.當庫工程文件中的資源ID和主工程中的資源ID相同時,主工程的資源ID將會覆

原创 音視頻開發指南

參考: android音視頻點/直播模塊開發 [總結]視音頻編解碼技術零基礎學習方法 android 音視頻開發過程 鍵盤舞者113的博客 轉載: Android 音視頻開發入門指南 Android開發,本身並不是一個可以走得多

原创 Configure CMake

A CMake build script is a plain text file that you must name CMakeLists.txt and includes commands CMake uses to build y

原创 [Android NDK]添加C++11和C++14支持

網上查了一下,大概時間表是這樣的: android ndk從2013年開始支持了C++11,從2015年開始支持C++14。 設置方法: 1、支持標準: 在 Android.mk 中加入 ① c++ 11 標準: LOCAL_CPPFLA

原创 GLES20.glTexImage2D、GLUtils.texImage2D 使用區別

OpenGL 提供了三個函數來指定紋理: glTexImage1D(), glTexImage2D(), glTexImage3D(). 這三個版本用於相應維數的紋理,我們用到的是 2D 版本: glTexImage2D(). 函數原型: