在 Play 商店发布 apk 后出错
Error after publish apk on Play Store
如果我 运行 将 Android Studio 的应用程序直接连接到我的智能手机,该应用程序可以正常运行,但如果在 Play 商店下载我的应用程序,该应用程序将停止并向我显示以下错误:
android.view.InflateException: Binary XML file line #25: Binary XML file line #25: Error inflating class android.support.design.widget.NavigationView
Binary XML file line #25: Error inflating class android.support.design.widget.NavigationView
Binary XML file line #17: Unable to find LayoutManager android.support.v7.widget.LinearLayoutManager
有人可以帮助我吗?
谢谢。
编辑:作品更改于 GRADLE
编译 'com.android.support:design:23.1.0'
到
编译 'com.android.support:design:23.1.1'
如果您使用的是 android studio,则首先清理构建,然后单击生成签名的 apk 并将其发送到 Play 商店。 android studio 的较新版本不允许 运行 apk 直接到设备
在将您的应用上传到 Play 商店之前,请测试完全相同的工件(.apk
文件)。我建议您使用 gradle 命令行来执行此操作。
通过 运行 ./gradlew clean build
您确保您将拥有一个可发布的 apk,将该版本推送到您的设备 adb install app/build/outputs/apk/app-release.apk
),如果它工作正常,则上传该文件。这条路对你来说可能不完全一样,但就是这样。
默认情况下,构建过程会创建 debug
和 release
版本的应用程序,studio 默认会在您的设备上安装 debug
版本,但您也应该尝试release
一个,这就是你上传的那个。
确保在 google 播放之前生成签名的 apk。请按照以下步骤生成签名的 apk:
步骤 1 转到构建>生成签名 APK>下一步(模块 selected 将是您的模块,通常称为 "app")
第 2 步 点击新建
步骤 3 基本上,填写表格所需的详细信息。
第 4 步 单击下一步,然后 select 释放。
它会起作用
我假设您 运行 遇到了几个月前我差点秃顶的 ProGuard 问题。尝试将此添加到您的混淆器规则文件中:
# https://code.google.com/p/android/issues/detail?id=78377
# https://code.google.com/p/android/issues/detail?id=78377#c188
#-keep class !android.support.v7.internal.view.menu.**,** { *; }
# Apparently this was messed up again in v23 and explicitly specifying MenuBuilder is now required
-keep class !android.support.v7.internal.view.menu.*MenuBuilder* { *; }
-keep class !android.support.v7.view.menu.**,!android.support.design.internal.NavigationMenu,!android.support.design.internal.NavigationMenuPresenter,!android.support.design.internal.NavigationSubMenu,**
我注意到我发现的 v21 问题的错误报告(这也导致了 v23 问题的解决方案)
如果我 运行 将 Android Studio 的应用程序直接连接到我的智能手机,该应用程序可以正常运行,但如果在 Play 商店下载我的应用程序,该应用程序将停止并向我显示以下错误:
android.view.InflateException: Binary XML file line #25: Binary XML file line #25: Error inflating class android.support.design.widget.NavigationView
Binary XML file line #25: Error inflating class android.support.design.widget.NavigationView
Binary XML file line #17: Unable to find LayoutManager android.support.v7.widget.LinearLayoutManager
有人可以帮助我吗? 谢谢。
编辑:作品更改于 GRADLE 编译 'com.android.support:design:23.1.0' 到 编译 'com.android.support:design:23.1.1'
如果您使用的是 android studio,则首先清理构建,然后单击生成签名的 apk 并将其发送到 Play 商店。 android studio 的较新版本不允许 运行 apk 直接到设备
在将您的应用上传到 Play 商店之前,请测试完全相同的工件(.apk
文件)。我建议您使用 gradle 命令行来执行此操作。
通过 运行 ./gradlew clean build
您确保您将拥有一个可发布的 apk,将该版本推送到您的设备 adb install app/build/outputs/apk/app-release.apk
),如果它工作正常,则上传该文件。这条路对你来说可能不完全一样,但就是这样。
默认情况下,构建过程会创建 debug
和 release
版本的应用程序,studio 默认会在您的设备上安装 debug
版本,但您也应该尝试release
一个,这就是你上传的那个。
确保在 google 播放之前生成签名的 apk。请按照以下步骤生成签名的 apk: 步骤 1 转到构建>生成签名 APK>下一步(模块 selected 将是您的模块,通常称为 "app")
第 2 步 点击新建
步骤 3 基本上,填写表格所需的详细信息。
第 4 步 单击下一步,然后 select 释放。
它会起作用
我假设您 运行 遇到了几个月前我差点秃顶的 ProGuard 问题。尝试将此添加到您的混淆器规则文件中:
# https://code.google.com/p/android/issues/detail?id=78377
# https://code.google.com/p/android/issues/detail?id=78377#c188
#-keep class !android.support.v7.internal.view.menu.**,** { *; }
# Apparently this was messed up again in v23 and explicitly specifying MenuBuilder is now required
-keep class !android.support.v7.internal.view.menu.*MenuBuilder* { *; }
-keep class !android.support.v7.view.menu.**,!android.support.design.internal.NavigationMenu,!android.support.design.internal.NavigationMenuPresenter,!android.support.design.internal.NavigationSubMenu,**
我注意到我发现的 v21 问题的错误报告(这也导致了 v23 问题的解决方案)