Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android Studio生成.so庫

Android Studio生成.so庫

編輯:關於Android編程

簡介

通過android studio生成so庫的實踐。

上一篇記錄的是通過eclipse生成so的方法eclipse生成so庫實踐,這裡記錄一下通過android studio是怎麼生成so庫的


配置NDK

下載ndk
下載地址:http://developer.android.com/intl/zh-cn/ndk/downloads/index.html

解壓配置環境變量
12

驗證配置成功
這裡寫圖片描述

設置android studio ndk路徑
這裡寫圖片描述

JNI開發

添加native接口注意寫好native接口和System.loadLibrary()。

執行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出現了.

然後根據.h文件,創建相對應的.cpp文件
這裡寫圖片描述 創建Android.mk和Application.mk文件
Android.mk
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

配置gradle

在defaultConfig下,配置ndk:
 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

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved