gpt4 book ai didi

java - INSTALL_FAILED_MISSING_SHARED_LIBRARY 并且是库项目所必需的 Use-Library

转载 作者:搜寻专家 更新时间:2023-11-01 09:08:51 25 4
gpt4 key购买 nike

简而言之,我想知道应用程序的 android list 中是否需要“uses-library”标签才能将另一个 Eclipse 项目用作库。

我的问题与找到的问题相似 here ,我正在寻找一些额外的说明。我正在尝试将 Android 项目用作库(与 Google map 无关)。该应用程序可以编译和安装,但在无法在其应用程序数据中找到某些文件时会在运行时崩溃。我想确保我正确地添加了库,这样我就可以专注于应用程序数据丢失的原因。

我在 Eclipse 的属性中选中了“是库”复选框,并在我的应用程序的属性菜单中添加了对它的引用。我是否需要修改应用程序的 list 才能使用库项目?我在 Android Developers 上找到了“uses-library”标签,但前面提到的帖子似乎表明这仅适用于内置库。添加标签会导致“INSTALL_FAILED_MISSING_SHARED_LIBRARY”错误。

如果 list 不是问题,我可以针对应用程序数据问题单独发帖,我只是想就“uses-library”是否与非 Google 库相关给出一个结论性的答案。谢谢!

我的 list :

    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="tadams.scTest"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="15" />

<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<!-- <uses-library android:name="net.sf.supercollider.android" />-->
<activity
android:name=".HelloSuperColliderActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>

错误(没有“uses-library”):

  03-24 00:20:43.057: D/dalvikvm(539): Not late-enabling CheckJNI 
(already on)
03-24 00:20:43.557: W/dalvikvm(539): Exception Ljava/lang/
UnsatisfiedLinkError; thrown while initializing Lnet/sf/supercollider/
android/SCAudio;
03-24 00:20:43.566: D/AndroidRuntime(539): Shutting down VM
03-24 00:20:43.566: W/dalvikvm(539): threadid=1: thread exiting with
uncaught exception (group=0x409c01f8)
03-24 00:20:43.597: E/AndroidRuntime(539): FATAL EXCEPTION: main
03-24 00:20:43.597: E/AndroidRuntime(539):
java.lang.ExceptionInInitializerError
03-24 00:20:43.597: E/AndroidRuntime(539): at
tadams.scTest.HelloSuperColliderActivity.onCreate(HelloSuperColliderActivit y.java:
27)
03-24 00:20:43.597: E/AndroidRuntime(539): at
android.app.Activity.performCreate(Activity.java:4465)
03-24 00:20:43.597: E/AndroidRuntime(539): at
android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:
1049)
03-24 00:20:43.597: E/AndroidRuntime(539): at
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:
1920)
03-24 00:20:43.597: E/AndroidRuntime(539): at
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:
1981)
03-24 00:20:43.597: E/AndroidRuntime(539): at
android.app.ActivityThread.access$600(ActivityThread.java:123)
03-24 00:20:43.597: E/AndroidRuntime(539): at
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
03-24 00:20:43.597: E/AndroidRuntime(539): at
android.os.Handler.dispatchMessage(Handler.java:99)
03-24 00:20:43.597: E/AndroidRuntime(539): at
android.os.Looper.loop(Looper.java:137)
03-24 00:20:43.597: E/AndroidRuntime(539): at
android.app.ActivityThread.main(ActivityThread.java:4424)
03-24 00:20:43.597: E/AndroidRuntime(539): at
java.lang.reflect.Method.invokeNative(Native Method)
03-24 00:20:43.597: E/AndroidRuntime(539): at
java.lang.reflect.Method.invoke(Method.java:511)
03-24 00:20:43.597: E/AndroidRuntime(539): at
com.android.internal.os.ZygoteInit
$MethodAndArgsCaller.run(ZygoteInit.java:784)
03-24 00:20:43.597: E/AndroidRuntime(539): at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
03-24 00:20:43.597: E/AndroidRuntime(539): at
dalvik.system.NativeStart.main(Native Method)
03-24 00:20:43.597: E/AndroidRuntime(539): Caused by:
java.lang.UnsatisfiedLinkError: Couldn't load sndfile: findLibrary
returned null
03-24 00:20:43.597: E/AndroidRuntime(539): at
java.lang.Runtime.loadLibrary(Runtime.java:365)
03-24 00:20:43.597: E/AndroidRuntime(539): at
java.lang.System.loadLibrary(System.java:535)
03-24 00:20:43.597: E/AndroidRuntime(539): at
net.sf.supercollider.android.SCAudio.<clinit>(SCAudio.java:56)
03-24 00:20:43.597: E/AndroidRuntime(539): ... 15 more

最佳答案

I'd like to know if the "uses-library" tag is necessary in an app's android manifest to use another Eclipse project as a library.

绝对不是。 <uses-library> 适用于可能是固件一部分的库,也可能不是固件的一部分,例如适用于 Android 的 Google map 插件。

Do I need to modify my app's manifest in order to use the library project?

不是真的。您可能需要修改 list 以使用库中的内容(例如,使 Activity 或服务可用)。但一般情况下,您不需要为了添加一个库项目而修改 list 。

关于java - INSTALL_FAILED_MISSING_SHARED_LIBRARY 并且是库项目所必需的 Use-Library,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9898320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com