Sourcery G++ Lite-将c编译成android可运行二进制程序(纯c语言开发程序步骤)
纯c语言开发程序
Sourcery G++ Lite Edition for ARM
在普通android 开发里面用的不多.
1.下载编译器和链接器软件.Sourcery G++ Lite Edition for ARM.
arm-none-linux-gnueabi-gcc.exe 是编译命令
bin/arm-none-linux-gnueabi-ld.exe 是链接命令
2.编写c源文件
#include <stdio.h>
int main()
{
printf("Hello, Android!\n");
return 0;
}
3.编译hello.c源文件
进入cmd
执行 arm-none-linux-gnueabi-gcc HelloWorld.c -static -o hellostatic
4.将hellostatic文件传输手机
adb push hellostatic /data/c/
5.改变文件的授权
adb shell chmod 777 /data/c/hellostatic
6.运行程序
adb shell
cd /data/c
./hellostatic
7.查看执行结果
|
使用android运行: package cn.zengfansheng.test;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;
import android.app.Activity;
import android.os.Bundle;
public class MainActivity extends Activity {
@SuppressWarnings("deprecation")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
//Process process = Runtime.getRuntime().exec("/data/data/hello");// 不是运行在dalvik,而是在linux中
// Process process = Runtime.getRuntime().exec("ps");// 显示进程信息
Process process = Runtime.getRuntime().exec("date");// 显示日期信息
InputStream in = process.getInputStream();
DataInputStream dis = new DataInputStream(in);
String line = null;
while ((line = dis.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
} |
结果: |