为了播放 AAC 文件,我设置了 NDK 并下载了http://code.google.com/p/aacplayer-android/代码
我下载的那个来源
svn checkout http://aacplayer-android.googlecode.com/svn/trunk/ aacplayer-android-read-only
之后我从以下代码下载了播放器
http://aacplayer-android.googlecode.com/files/aacplayer-android-r25.zip
现在我必须在我的项目中使用该代码,所以我创建了新的 JNI 文件夹并复制所有代码 .c 和 .h 文件...下面是一张图片
然后我运行了 ndk-build 命令并生成了如下所示的 .so 文件
现在您可以看到 libs 文件夹中的这两个文件夹和 .so 文件已创建,如下所示
现在,当我使用以下代码构建和运行应用程序时,一切正常,库正在加载,没有任何 java.lang.UnsatisfiedLinkError: nativeStart 错误
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list);
System.loadLibrary("aacarray");
System.loadLibrary("mms");
但是当我开始播放流式 AAC 文件时,会生成以下错误
02-19 23:13:47.090: W/dalvikvm(847): No implementation found for native Lcom/example/xmlparsingex/ArrayDecoder;.nativeStart (ILcom/example/xmlparsingex/ArrayBufferReader;Lcom/example/xmlparsingex/Decoder$Info;)I
02-19 23:13:47.100: W/dalvikvm(847): threadid=11: thread exiting with uncaught exception (group=0x40015560)
02-19 23:13:47.100: E/AndroidRuntime(847): FATAL EXCEPTION: Thread-12
02-19 23:13:47.100: E/AndroidRuntime(847): java.lang.UnsatisfiedLinkError: nativeStart
02-19 23:13:47.100: E/AndroidRuntime(847): at com.example.xmlparsingex.ArrayDecoder.nativeStart(Native Method)
02-19 23:13:47.100: E/AndroidRuntime(847): at com.example.xmlparsingex.ArrayDecoder.start(ArrayDecoder.java:100)
02-19 23:13:47.100: E/AndroidRuntime(847): at com.example.xmlparsingex.ArrayAACPlayer.playImpl(ArrayAACPlayer.java:114)
02-19 23:13:47.100: E/AndroidRuntime(847): at com.example.xmlparsingex.AACPlayer.play(AACPlayer.java:273)
02-19 23:13:47.100: E/AndroidRuntime(847): at com.example.xmlparsingex.AACPlayer.play(AACPlayer.java:242)
02-19 23:13:47.100: E/AndroidRuntime(847): at com.example.xmlparsingex.AACPlayer$1.run(AACPlayer.java:202)
02-19 23:13:47.100: E/AndroidRuntime(847): at java.lang.Thread.run(Thread.java:1019)
请注意,我已经发布了这个具有相同错误java.lang.UnsatisfiedLinkError: nativeStart android NDK的问题,但这个问题与此不同,所以请不要投反对票:(
我已经尝试了很多来解决这个问题,但无法成功请任何人都可以帮助我......