当android studio创建这个apk时,如何在apk中只保留armeabi?

Posted

技术标签:

【中文标题】当android studio创建这个apk时,如何在apk中只保留armeabi?【英文标题】:How to keep only armeabi in an apk when android studio creates this apk? 【发布时间】: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文件中的一些配置文件要不要修改? 【参考方案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中的相关代码

【讨论】:

以上是关于当android studio创建这个apk时,如何在apk中只保留armeabi?的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio 之签名

Android Studio 发布 APK

Android Studio 没有 Generate Signed APK

部署apk时Android Studio ..Application崩溃[重复]

如何在Android Studio 1中创建签名apk时禁用Eclipse之类的错误

Android Studio 创建的未签名 apk 文件都有哪些?