NDK入门 hello-jni的编译与运行问题
按别的文章配置好有,
设置了NDK的路径到path环境环境变量后,在CMD中,用上述方法到hello-jni文件中编译可以通过,但是用模拟器运行整个hello-jni项目后会奔溃,后来java文件改成这样
public class HelloJni extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText( /*stringFromJNI()*/ "1" );
setContentView(tv);
}
}
就没错,之后改成这样
public class HelloJni extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText( /*stringFromJNI()*/ "1" );
setContentView(tv);
}
static {
System.loadLibrary("hello-jni");
}
}
就出错了,那么意思就是没办法执行 System.loadLibrary("hello-jni");
就是说刚刚用CMD编译出来的so文件无效么
但是如果按文章中用Cygwin来编译就出现了如图的错误
卡了两天了,请大家指教,我该怎么做,谢谢了。
[解决办法]
不用cgywin直接编译就行
[解决办法]
你是ndk-r9的版本,不需要这样用啊。
直接在eclipse里面配置编译。
[解决办法]
你so文件放哪里的?
[解决办法]
http://blog.csdn.net/codingandroid/article/details/9798887
我正好写了篇这个的博客,你可以看下。
windows的cmd编译的是windows下用的文件,android是基于linux的,可能这个原因用不了。
cygwin是模拟了一个linux的环境。
至于用cygwin编译,你的Android.mk文件是否编写??看你这个的样子应该是有写的,cygwin安装的时候是否把开发需要用的包全部装上了?是否配置了环境变量
