11AndroidStudio中进行ndk开发
22===
33
4- - 创建工程,声明` native ` 方法。
5- 在`MainActivity`中声明`native`方法。
6- `private native void initUninstallFeedback(String packagePath, int sdkVersion);`
4+ - 创建工程,声明` native ` 方法。
5+ ```java
6+ private native void startDaemon(String serviceName, int sdkVersion);
7+
8+ static {
9+ System.loadLibrary("daemon");
10+ }
11+ ```
12+
713
8- - 生成` class ` 文件。
14+ - 生成` class ` 文件。
915 执行` Build-Make Project ` 命令,生成` class ` 文件。所在目录为` app_path/build/intermediates/classes/debug `
1016
1117
12- - 执行` javah ` 生成` .h文件 `
13- ```
18+ - 执行` javah ` 生成` .h文件 `
19+ ```
1420 C:\Users\Administrator>javah -help
1521 用法:
1622 javah [options] <classes>
@@ -29,9 +35,8 @@ AndroidStudio中进行ndk开发
2935 在`Studio Terminal`中进入到`src/main`目录下执行`javah`命令:
3036 `javah -d jni -classpath <SDK_android.jar>;<APP_classes> <class>`
3137
32- `F:\NDKDemo\app\src\main>javah -d jni -classpath C:\develop\android-sdk-windows\platforms\android-22\android.jar;..\..\build\intermediates\classes\debug com.charonchui.ndkdemo.MainActivity
33- `
34- 执行完成后就会在`src/main/jni`目录下生成`com_charonchui_ndkdemo_MainActivity.h`文件。
38+ `F:\DaemonService\app\src\main>javah -d jni -classpath C:\develop\android-sdk-windows\platforms\android-22\android.jar;..\..\build\intermediates\classes\debug com.charonchui.daemonservice.service.DaemonService`
39+ 执行完成后就会在`src/main/jni`目录下生成`com_charonchui_daemonservice_service_DaemonService.h`文件。
3540
3641- 在` module/src/main/jni ` 目录下创建对应的` .c ` 文件。
3742
@@ -40,7 +45,7 @@ AndroidStudio中进行ndk开发
4045- 配置` ndk ` 路径,在项目右键` Moudle Setting ` 中设置。
4146 ![ image] ( https://raw.githubusercontent.com/CharonChui/Pictures/master/studio_ndk_jni.png?raw=true )
4247
43- - 在` build.gradle ` 中配置` ndk ` 选项
48+ - 在` build.gradle ` 中配置` ndk ` 选项
4449
4550 ``` java
4651 android {
@@ -57,7 +62,7 @@ AndroidStudio中进行ndk开发
5762 ndk {
5863 moduleName " uninstall_feedback" // 配置so名字
5964 ldLibs " log"
60- // abiFilters "armeabi", "x86" 默认就是全部的,加了配置才会生成选中的
65+ // abiFilters "armeabi", "x86" // 默认就是全部的,加了配置才会生成选中的
6166 }
6267 }
6368 buildTypes {
@@ -78,6 +83,7 @@ AndroidStudio中进行ndk开发
7883- 执行Build
7984 然后就可以在`app/build/intermediates/ndk/debug/obj/local`下看到所有架构的`so`了。
8085 
86+
8187-- -
8288
8389- 邮箱 :charon. chui@gmail . com
0 commit comments