Skip to content

Commit 0296d7a

Browse files
committed
Update AndroidStudio中进行ndk开发.md
1 parent dfa4d57 commit 0296d7a

File tree

1 file changed

+17
-11
lines changed

1 file changed

+17
-11
lines changed

Android加强/AndroidStudio中进行ndk开发.md

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,22 @@
11
AndroidStudio中进行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
![image](https://raw.githubusercontent.com/CharonChui/Pictures/master/studio_ndk_build.png?raw=true)
86+
8187
---
8288

8389
- 邮箱 :charon.chui@gmail.com

0 commit comments

Comments
 (0)