本机活动和“无法加载本机库”

6 android makefile android-ndk

我正在尝试根据Android NDK文件夹中的“本机活动”示例项目构建一个Android-10 NDK本机活动。但是,当我打开Eclipse并为我的项目选择“运行方式-> Android应用程序”时,我的本机活动因以下运行时异常而崩溃:

02-09 03:02:12.599:E / AndroidRuntime(881):java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.native_activity / android.app.NativeActivity}:java.lang.IllegalArgumentException:无法加载本机库:/data/app-lib/com.example.native_activity-1/ [库名称] .so

但是,我已经确认文件“ lib [library name] .so”已经存在于“ libs / armeabi”(等)路径中。我的本机活动最终需要加载三个“ .so”文件,但是无论我尝试加载一个“ .so”文件还是全部三个“ .so”文件,此错误仍然存​​在。我的“ AndroidManifest.xml”文件如下:

<?xml version="1.0" encoding="utf-8"?>
<!-- BEGIN_INCLUDE(manifest) -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.native_activity"
    android:versionCode="1"
    android:versionName="1.0">

<!-- This is the platform API where NativeActivity was introduced. -->
<uses-sdk android:minSdkVersion="9" />

<!-- This .apk has no Java code itself, so set hasCode to false. -->
<application android:label="@string/app_name" android:hasCode="false">

    <!-- Our activity is the built-in NativeActivity framework class.
         This will take care of integrating with our NDK code. -->
    <activity android:name="android.app.NativeActivity"
            android:label="@string/app_name"
            android:configChanges="orientation|keyboardHidden">
        <!-- Tell NativeActivity the name of or .so -->
        <meta-data android:name="android.app.lib_name"
            android:value="[library name]" />
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

</manifest> 
<!-- END_INCLUDE(manifest) -->
Run Code Online (Sandbox Code Playgroud)

要解决此运行时异常需要做什么?

Dev*_*hts 1

在您的 JNI 文件夹中,“” 设置为什么?“[库名称]”名称应设置为您正在构建的包的名称。