相关疑难解决方法(0)

Android App Bundle在Android应用中引入了资源未找到崩溃

通过使用Android新Android应用程序包我发现我的2个谷歌游戏商店应用程序中找不到资源崩溃: -

这是应用程序之一的面料堆栈跟踪: -

Unable to start activity ComponentInfo{/com.Lastyear.MainActivity}: android.content.res.Resources$NotFoundException: File res/drawable/abc_item_background_holo_dark.xml from drawable resource ID #0x7f08002c
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2377)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2429)
       at android.app.ActivityThread.access$800(ActivityThread.java:151)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1342)
       at android.os.Handler.dispatchMessage(Handler.java:110)
       at android.os.Looper.loop(Looper.java:193)
       at android.app.ActivityThread.main(ActivityThread.java:5363)
       at java.lang.reflect.Method.invokeNative(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:515)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:828)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:644)
       at dalvik.system.NativeStart.main(NativeStart.java)
Run Code Online (Sandbox Code Playgroud)

build.gradle依赖项: -

 dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
testImplementation 'junit:junit:4.12'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:customtabs:27.1.1'
implementation 'com.android.support:cardview-v7:27.1.1'
implementation 'com.squareup.picasso:picasso:2.5.2'

implementation 'com.android.support:palette-v7:27.1.1'
implementation 'com.afollestad.material-dialogs:core:0.9.6.0'
implementation 'com.jakewharton:butterknife:8.8.1'
implementation 'com.github.bumptech.glide:glide:3.7.0'
implementation 'com.android.support:design:27.1.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
implementation 'com.github.hotchemi:android-rate:1.0.1'
implementation 'com.hannesdorfmann.smoothprogressbar:library:1.0.0'
implementation 'com.android.support:palette-v7:27.1.1' …
Run Code Online (Sandbox Code Playgroud)

java crash android android-app-bundle

44
推荐指数
4
解决办法
7647
查看次数

检测是否从Play商店安装了应用程序

我想检查并允许使用我的应用程序,只要它已从Play商店下载,并且它尚未被其他用户或任何其他来源共享.如果用户尚未从Google Play商店下载,我该如何阻止用户使用该应用?

android

8
推荐指数
2
解决办法
6174
查看次数

Google 的旁载检查文档发生了什么?

使用应用程序包时,存在用户将自定义 APK“旁加载”到不兼容设备上的风险。这可能会导致崩溃,因为所需的密度/语言将不存在。

\n\n

MissingSplitsManager为了解决这个问题, Google Play Core 中有一个方便的工具。这会在启动时向用户显示有用的错误,而不是崩溃。需要做的就是将以下内容添加到应用程序类中:

\n\n
override fun onCreate() {    \n    if (MissingSplitsManagerFactory.create(this).disableAppIfMissingRequiredSplits()) {\n        return\n    }\n    super.onCreate()\n} \n
Run Code Online (Sandbox Code Playgroud)\n\n

此检查非常容易实现,之前可以在https://developer.android.com/guide/app-bundle/sideload-check上找到详细说明。到处都有指向此内容的链接,例如在 Realm 问题中或在MissingSplitsManager 文档的顶部。

\n\n

但是,此链接现在重定向到“已知问题”部分,其中非常模糊:

\n\n
\n

部分安装旁加载应用程序\xe2\x80\x94,即未使用 Google Play 商店安装且缺少一个或多个必需的拆分 APK\xe2\x80\x94 的应用程序在所有 Google 认证设备和运行 Android 10 的设备上失败( API 级别 29) 或更高。通过 Google Play 商店下载您的应用程序时,Google 会确保安装该应用程序的所有必需组件。

\n
\n\n

所以发生了什么事?为什么不再提及库的简单检查,甚至在库的文档中也是如此。

\n\n

也许该库存在一些未记录的问题?也许 Google 根本不想帮助侧载?

\n

android sideloading android-app-bundle

8
推荐指数
1
解决办法
1688
查看次数

是否可以通过检查 getInstallerPackageName 来检查安装付费 Android 应用程序的合法性?

为了确保我的付费 android 应用程序是从商店合法安装的,我这样写:

String installer = getPackageManager().getInstallerPackageName(
        "com.example.myapp");

if (installer == null) {
    // app was illegally downloaded from unknown source. 
    // dear user, please re-install it from market
} 
else {
    // app was probably installed legally
    // (also it's good to check actual installer name)
}
Run Code Online (Sandbox Code Playgroud)

可以吗?从市场上合法购买和安装的应用程序是否有可能获得空的安装程序包名称并无法通过此测试?

我知道用户可以运行adb -i com.fake.installer myapp.apk并通过此检查,但更重要的是合法用户是否会遇到潜在问题。

android piracy google-play

7
推荐指数
2
解决办法
2626
查看次数

是否有可能知道Android应用程序的来源(例如Google Play)?

是否可以通过Android市场(Google Play商店)或其他方式检查应用程序是否已安装?

基本上我想知道的是应用程序是否真实.如果应用程序的安装源是Play Store,那么我们知道名为com.dropbox.android的应用程序是实际的Dropbox应用程序,但如果源不是Play Store,那么任何人都可以创建一个具有相同包名称的Android应用程序并将其安装在设备上.

android android-applicationinfo google-play

6
推荐指数
1
解决办法
518
查看次数

有可能区分(在代码中)是通过播放还是手动安装apk?

可能重复:
如何知道从谷歌播放或侧载加载应用程序?

我们有一个可在多个移动平台之间移植的应用程序.它提供了自己的更新机制,可以获取应用程序使用的相当大的数据.现在这个机制也可以下载应用程序的更新版本.如果用户手动安装.apk,我们希望通过这种机制向他们发送新版本,但如果他们从Android市场(或任何其他市场)安装它,市场应用程序将负责升级并自己做会与它发生冲突.

那么是否可以从应用程序中检测应用程序是否是通过市场安装的?

android google-play

4
推荐指数
1
解决办法
1291
查看次数

Android安装源码

是否有可能从Android应用程序获取安装源?

我的意思是,我想看看,如果应用程序是从安装的Play Store,Amazon Appstore或通过执行APK.

PS:我想在我的应用程序崩溃时看到它,我能够发送错误报告,我的应用程序是通过安装的Play Store.我如何获得这个价值?

android apk amazon-appstore google-play

4
推荐指数
1
解决办法
3656
查看次数