如何链接ndk构建中的预构建共享/静态库,避免库在lib / {arch}文件夹中获取副本?

时间:2015-02-13 09:17:35

标签: android-ndk

我有两个本机模块要构建为共享库。这两个模块都依赖于其他一些常用模块。

我使用“PREBUILT_SHARED_LIBRARY”给Android.mk文件中的dependecy,但问题是用“PREBUILT_SHARED_LIBRARY”指定的库也会被复制到libs / armeabi文件夹中.. :(

当我在主应用程序中包含它们各自的.jars时,它会抛出一个错误,表示库的副本..

我必须通过链接ndk构建中的公共库而不使用“PREBUILT_SHARED_LIBRARY”来解决这个问题,这样它就不会将所有依赖库复制到libs / areabi。

有人可以告诉我如何解决这个问题?我已经用Google搜索了这个,但我看到答案的每个地方都使用“PREBUILT_SHARED_LIBRARY”链接已经构建的共享库。

1 个答案:

答案 0 :(得分:1)

Your prebuilt's Android.mk is probably wrong, if you do something like this

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".LoginActivity"
    android:background="@drawable/login_background">


    <LinearLayout
        android:orientation="vertical"
        android:layout_width="320dp"
        android:layout_height="160dp"
        android:layout_alignParentBottom="true"
        android:layout_marginStart="218dp"
        android:layout_marginBottom="25dp">

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="textPersonName"
            android:ems="10"
            android:id="@+id/editText"
            android:textColor="@color/surtimax_gris_texto"
            android:layout_gravity="center_horizontal"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:textStyle="bold"
            android:hint="@string/login_edittext_user_text"
            android:textColorHint="@color/surtimax_gris_texto" />

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="textPersonName"
            android:ems="10"
            android:id="@+id/editText2"
            android:background="@drawable/login_edittext_background"
            android:textColor="@color/surtimax_gris_texto"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="15dp"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:textStyle="bold"
            android:hint="@string/login_edittext_pass_text"
            android:textColorHint="@color/surtimax_gris_texto" />
    </LinearLayout>
</RelativeLayout>

Then the correct library will be copied to the correct place