在vlc android sdk上使用Gradle flavors
在我的应用程序中,我使用的是在vlc android sdk上使用Gradle flavors,android,android-gradle-plugin,vlc-android,Android,Android Gradle Plugin,Vlc Android,在我的应用程序中,我使用的是“de.mrmaffen:vlc android sdk:2.0.6”库,它占用了很多存储空间,但我找不到更小的替代品。 所以我决定使用split或产品口味,但我无法让它发挥作用。 我试着跟着医生走,但运气不好。 感谢您的帮助。自己构建LibVLC安卓SDK 如果您使用的是de.mrmaffen:vlc android sdk:2.0.6“ 如前所述,之后只需运行这个Gradle命令:/gradlew buildLibVlc 构建特定版本的LibVLC安卓SDK 确
“de.mrmaffen:vlc android sdk:2.0.6”
库,它占用了很多存储空间,但我找不到更小的替代品。所以我决定使用split或产品口味,但我无法让它发挥作用。
我试着跟着医生走,但运气不好。
感谢您的帮助。自己构建LibVLC安卓SDK 如果您使用的是de.mrmaffen:vlc android sdk:2.0.6“ 如前所述,之后只需运行这个Gradle命令:
/gradlew buildLibVlc
构建特定版本的LibVLC安卓SDK 确保遵循Android编译说明中的依赖项,并检查:
git克隆
repogit克隆。
git标签
git签出
。在本例中,为2.1.2cd..
build.gradle
脚本的compile/build
你不需要/gradlew buildLibVlc
jniLibs
文件夹中的共享对象(*.so)文件jniLibs
文件夹旁边创建一个libs
文件夹
更新了gradle版本通过Maven CentralJCenter获取 只要将此依赖项添加到您的项目中,您就可以开始了 我正在使用这个版本。记住将JCenter添加到项目的
build.gradle
文件中:
allprojects {
repositories {
jcenter()
}
}
VLC Android SDK通过JCenter支持下一个ABI:armeabi-v7a、arm64-v8a、x86和x86_64
您可以在应用程序的build.gradle
文件中筛选特定的ABI(不包括x86_64和arm64-v8a):
可以通过最新的Android Studio版本检查包含的文件:
为ABI配置多个APK 在内部添加一个abi块 你的街区。在abi块中,提供一个abi
构建多个APK 单击Build>Build APK为当前选定的对象生成所有APK 项目窗格中的模块 Gradle为每个ABI创建APK 进入项目的
build/outputs/apk/
目录
配置构建变体 上的版本,向您展示如何配置版本变体以创建应用程序的不同版本
组合abi过滤器和构建变体
通过ABI和密度分割的多APK 的 可用于设置ABI拆分版本代码的代码段 为x86_64和x86提供比ARM更高的版本号,尽可能多的x86 设备可以通过仿真层运行ARM代码,尽管 性能较低 如果你不想管理太多的APK,就瞄准最流行的APK 一个(通常是ARM,可能是x86)带有拆分APK并提供 通用APK对其他所有人都适用 在Play Store上以较低的价格发布universal APK是至关重要的 比所有其他ABI特定软件包的版本号 如果您需要更灵活的多APK设置,请查看
推荐选择支持的ABI的中级帖子 我们将了解什么是ABI,ABI拆分的问题,以及 避免这些问题的替代方法。。。例如,Android支持以下ABI:
mips, mips64, X86, X86–64, arm64-v8a, armeabi, armeabi-v7a
因此,您必须在支持基于
大小与性能标准,但mips、mips-64和armeabi应为
毫不犹豫地撤走了
解决某些设备上不满意的链接错误问题 ,64位处理器生成并检查arm64文件夹以加载本机库 如果您的项目没有arm64文件夹。以下是解决方案: build.gradle
defaultConfig {
...
ndk {
abiFilters "armeabi-v7a", "x86"
}
}
您需要将此筛选器(abiFilters)添加到应用程序模块的
build.gradle文件。因此,当您的设备尝试运行您的应用程序时,它将
检查gradle文件,了解它不应生成任何
文件夹并使用现有的本机库资源。繁荣几乎解决了。
但还有一件事。将此行添加到gradle.properties以使用不推荐的Ndk
gradle.properties
android.useDeprecatedNdk=true
您可以使用应用程序包,这样就不需要处理多个APK。Google Play将自动为您处理。此外,这种方法还可以提供额外的好处。有关更多详细信息:这是一个非常简单的问题。你试过什么?你说你不能让它工作是什么意思?正如我在问题中提到的“我试图在没有运气的情况下跟踪文档”。你跟踪文档的例子在哪里?在什么方面它对你不起作用?您没有提供足够的信息以供他人帮助您。如果你不添加这些细节,你就不太可能找到你想要的答案。
android {
...
splits {
// Configures multiple APKs based on ABI.
abi {
// Enables building multiple APKs per ABI.
enable true
// By default all ABIs are included, so use reset() and include to specify that we only
// want APKs for x86 and armeabi-v7a.
// Resets the list of ABIs that Gradle should create APKs for to none.
reset()
// Specifies a list of ABIs that Gradle should create APKs for.
include "x86", "armeabi-v7a"
// Specifies that we do not want to also generate a universal APK that includes all ABIs.
universalApk false
}
}
}
android {
productFlavors {
x86 {
ndk {
abiFilter "x86"
}
}
arm {
ndk {
abiFilters "armeabi-v7a", "armeabi"
}
}
}
}
mips, mips64, X86, X86–64, arm64-v8a, armeabi, armeabi-v7a
defaultConfig {
...
ndk {
abiFilters "armeabi-v7a", "x86"
}
}
android.useDeprecatedNdk=true