【问题标题】:How to keep only armeabi in an apk when android studio creates this apk?当android studio创建这个apk时,如何在apk中只保留armeabi?
【发布时间】:2016-07-13 03:50:13
【问题描述】:

我必须在我的项目中使用几个第三方 jar。

首先,每个 jar 在 app/src/main/jniLibs/armeabi 目录下提供一个 .so 文件。

android studio运行'app'后,app-debug.apk/lib中只有一个armeabi目录,一切正常。

但是,由于我在项目中将 .aar 导入到 app/aars,因此在 adroid studio 运行 'app' 后, app-debug.apk/lib 中有 x86、x86_64、armeabi-v7a、arm64-v8a 和 armeabi 目录,并且该应用程序在启动时刚刚损坏。在我手动删除 x86、x86_64、armeabi-v7a、arm64-v8a 目录并在 app-debug.apk/lib 中仅保留 armeabi 目录后。然后我安装了apk,一切都OK了。

所以我想知道在android studio运行'app'之后如何在apk中只保留armeabi?

【问题讨论】:

  • 现在,我必须在 Android Studio 创建 apk 后手动删除 app-debug.apk/lib 中的 x86、x86_64、armeabi-v7a、arm64-v8a 目录。然后通过命令行在我的智能手机上安装这个 apk。谁能帮帮我?
  • 其实一开始.aar/jni里面有x86、x86_64、armeabi-v7a、arm64-v8a和armeabi目录,但是我删除了x86、x86_64、armeabi-v7a、arm64-v8a目录并仅在 .aar/jni 中保留 armeabi。 .aar文件中的一些配置文件要不要修改?

标签: android shared-libraries apk aar libs


【解决方案1】:

我已经解决了我自己的问题。问题是由新来的 .aar 文件引起的。

解决办法是:

第一步:用winRAR打开.aar文件
第二步:将.aar文件中的.jar拉到app/libs目录下
第三步:将.aar文件中的jni/armeabi/xxx.so拉到app/src/main/jniLibs/armeabi目录下
第4步:删除app/aars中的.aar文件和app/build.gradle中的相关代码

【讨论】: