編輯:關於Android編程
通過android studio生成so庫的實踐。
上一篇記錄的是通過eclipse生成so的方法eclipse生成so庫實踐,這裡記錄一下通過android studio是怎麼生成so庫的
解壓配置環境變量
驗證配置成功
執行Build->Make Project,生成了.class文件,.class文件的生成路徑是在 app/build/intermediates/classes/debug下
javah生成c頭文件
點擊”View->Tool Windows->Terminal<喎?/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPiZsZHF1bzujrLTyv6rW1bbLo6y9+MjrIFxhcHBcc3JjXG1haW61xMS/wrzPwta00NBqYXZhaMP8we6jrDxjb2RlPmphdmFoIC1kIGpuaSAtY2xhc3NwYXRoIDxzZGtfYW5kcm9pZC5qYXI+OzxhcHBfY2xhc3Nlcz4gPGNsYXNzPjwvY2xhc3M+PC9hcHBfY2xhc3Nlcz48L3Nka19hbmRyb2lkLmphcj48L2NvZGU+PGltZyBhbHQ9"這裡寫圖片描述" src="/uploadfile/2016/0505/20160505091934901.png" title="\" />,然後就看到\app\src\main\jni\com_fy_administrator_jnitoso_JniUtil.h出現了.
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := JNIDemo
LOCAL_SRC_FILES := testJni.cpp
LOCAL_SRC_FILES += CAdd.cpp
include $(BUILD_SHARED_LIBRARY)
其中LOCAL_PATH是C/C++代碼所在目錄,也就是我們的jni目錄。
LOCAL_MODULE是要編譯的庫的名稱。編譯器會自動在前面加上lib,在後面加上.so。
LOCAL_SRC_FILES是要編譯的C/C++文件。
Application.mk
APP_ABI := all
#APP_ABI := armeabi armeabi-v7a x86 mips arm64-v8a mips64 x86_64
ndk {
moduleName "JNIDemo" // 生成的so名字
}
在android標簽內配置sourceSets:
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
執行ndk-build命令生成所有cpu架構的so庫注意:
在最後生成so庫的時候,如果無法生成64位的so庫,可能原因是ndk版本太老的緣故,下載最新ndk試試
代碼:https://github.com/fayou147/JniToSo
項目搭建根據架構篇所講的,將項目分為了四個層級:模型層、接口層、核心層、界面層。四個層級之間的關系如下圖所示:實現上,在Android Studio分為了相應的四個模塊
看到很多書中都沒有對PreferenceActivity做介紹,而我正好又在項目中用到,所以就把自己的使用的在這總結一下,也方便日後查找。 PerferenceActiv
MPAndroidChart 是 Android 系統上一款開源的圖表庫。目前提供線圖和餅圖,支持選擇、縮放和拖放。android開源圖表庫MPAndroidChar的g
在Android UI設計開發中,我們經常會用到一些圖標、圖片來做背景等。相信很多同學都會遇到一個問題,就是我們讓美工做好一張圖,一個圖標,呃,看起來挺好看的,但是放進a