我正在创建一个“Hello World”AAC流播放器。
我的步骤:
aacdecoder-android-libs-0.8.zip
libs
文件夹。在活动中添加了以下导入:
import com.spoledge.aacdecoder.AACPlayer;
在onCreate(...)
方法的末尾添加了以下内容:
AACPlayer aacPlayer = new AACPlayer();
aacPlayer.playAsync( "http://prem4.di.fm:80/trance?gzufXm01F8D2Y6hj2" );
跑了。我收到了错误:
找不到类com.spoledge.aacdecoder.AACPlayer',从com.example.cardi.MainActivity.onCreate方法引用
在阅读了一些SO问题之后,唯一突然出现的是“Project”中的“Order and Export”选项卡> “属性”>需要玩“Java Build Path”。之前:
我通过改变它取得了一点进展:
导致此错误:
java.lang.UnsatisfiedLinkError:无法从加载器dalvik.system.PathClassLoader加载aacdecoder [dexPath = / data / app / com.example.cardi-1.apk,libraryPath = / data / app-lib / com。 example.cardi-1]:findLibrary返回null
每当我回到Android时,我都会感到愚蠢。请帮忙!
答案 0 :(得分:6)
事实证明,在其他问题和答案中已经指出了非常简单的事情,但并未完全明确。因此,对于任何其他人拔头发,这里是勺子喂:
该库有一个zip文件,aacdecoder-android-libs-0.8.zip
。
它具有以下目录结构:
aacdecoder-android-libs-0.8.zip
> aacdecoder-android-libs-0.8
> aacdecoder-android-0.8.jar
> armeabi
> libaacdecoder.so
> armeabi-v7a
> libaacdecoder.so
> mips
> libaacdecoder.so
> x86
> libaacdecoder.so
什么是行不通的是将zip的内容复制到应用程序的libs
文件夹中。相反,您必须将zip文件中的文件夹内容复制到libs文件夹。例如,目录结构将是:
在c:/users/me/EclipseWorkspace/Myproject/libs/
:
> aacdecoder-android-0.8.jar
> armeabi
> libaacdecoder.so
> armeabi-v7a
> libaacdecoder.so
> mips
> libaacdecoder.so
> x86
> libaacdecoder.so
然后转到Project>属性> Java构建路径>图书馆>添加JAR,然后选择JAR包 然后转到Project>属性> Java构建路径>订单和出口。检查JAR,并将其移至顶部。
瞧。头发长了
答案 1 :(得分:1)
检查你的lib文件夹是否包含filename.so文件。我们只有在这个ndk文件错过时才会出现此错误。
或者您的包名称与您的Native C或C ++代码不匹配。
示例:您的包名称为com.example.project
,类名为Test
然后你应该从JNI调用的方法如下所示。
com_example_project_Test_sum(......) {
}
此处 sum 是您的原生方法的名称。希望这会对你有所帮助。
答案 2 :(得分:1)
我不确定你是否找到了你的问题的答案但是我的项目中的libs文件夹被错误地命名(是lib而不是libs)。我的问题是由于意外删除我的项目而不得不通过从手机中提取APK来恢复它。一旦我重命名该文件夹,我的问题就解决了。希望有所帮助。