首页
社区
课程
招聘
[原创]进军的ARM 开发之一(NDK 坏境的搭建)
发表于: 2016-3-17 04:31 3717

[原创]进军的ARM 开发之一(NDK 坏境的搭建)

2016-3-17 04:31
3717
网盘:http://pan.baidu.com/s/1pKubiTd
下载网盘中的3个文件.
1.释放adt-bundle-windows.rar,android-ndk-r9d-windows-x86_64.rar到同一个目录下;
上图:




接着 右键你的工程目录 选择  Andorid Tools ->
既然andori  基于linux 那么应该 Linux 下的API 也是应该可以用的,测试一下吧.
extern  "C"  JNIEXPORT  jint  Java_com_example_test_MainActivity_KillPID(JNIEnv *env, jobject thiz,int  pid)
{
	return   kill(pid,1);
}

extern  "C"  JNIEXPORT  jint  Java_com_example_test_MainActivity_test(JNIEnv *env, jobject thiz)
{
	return   getpid();
}

接着去  MaMainActivity.java 声明:
static{
		System.loadLibrary("Test");
	}

接着

   private  native int test();
   private  native  integer KillPID( int pid);

丢到模拟器当中:
测试 OK~通过获取当前PID 并且结束自己.
接着 在来测试一个代码:
struct passwd *my_info;
	void *execa = malloc(0x1000);
	char*  aaa=(char* )execa;
	 my_info=getpwuid(getuid());
	strcpy(aaa,my_info->pw_dir);
	strcat(aaa,":name:");
	strcat(aaa,my_info->pw_name);

	return env->NewStringUTF(aaa);


成功获取。附上附件 will  be  continue.....

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 8217
活跃值: (2726)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
从头开始学习
2016-3-17 09:56
0
雪    币: 4554
活跃值: (2186)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
现在都是用android studio了吧
2016-3-17 10:24
0
雪    币: 219
活跃值: (848)
能力值: (RANK:290 )
在线值:
发帖
回帖
粉丝
4
如果你只是为了开发底层,分析的话,没差
2016-3-17 11:55
0
游客
登录 | 注册 方可回帖
返回
//