- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Azure 构建管道,它正在生成一个 APK,它可以在 Android 10 上正常安装(通过 AppCenter),但会弹出错误:
App not installed as package appears to be invalid
AndroidManifest.xml
在解决方案中看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.app.myapplocal" android:installLocation="auto" android:versionCode="1" android:versionName="1.1">
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="31" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<application android:label="L MyApp" android:icon="@drawable/icon" android:largeHeap="true"></application>
</manifest>
当我通过 Android Studio 的
APK Analyze
检查 list 时选项,我看到了这个:
<uses-sdk
android:minSdkVersion="21"
android:targetSdkVersion="31" />
<uses-permission
android:name="android.permission.FLASHLIGHT" />
<uses-permission
android:name="android.permission.INTERNET" />
<uses-permission
android:name="android.permission.CAMERA" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:label="D MyApp"
android:icon="@ref/0x7f07015e"
android:name="crc646948444ac10504e5.MainApplication"
android:debuggable="true"
android:allowBackup="true"
android:largeHeap="true"
android:extractNativeLibs="true">
<meta-data
android:name="com.google.android.gms.vision.DEPENDENCIES"
android:value="barcode" />
<activity
android:theme="@ref/0x7f0d0001"
android:label="MyApp"
android:icon="@ref/0x7f07015e"
android:name="crc646948444ac10504e5.MainActivity"
android:screenOrientation="1"
android:configChanges="0x680" />
<activity
android:theme="@ref/0x7f0d0000"
android:name="crc646948444ac10504e5.SplashActivity"
android:exported="true"
android:screenOrientation="1"
android:noHistory="true">
<intent-filter>
<action
android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:label="Web Authenticator"
android:name="crc641e66d166111bdf3e.FormAuthenticatorActivity" />
<activity
android:label="Web Authenticator"
android:name="crc641e66d166111bdf3e.WebAuthenticatorActivity" />
<activity
android:label="Web Authenticator Native Browser"
android:name="crc641e66d166111bdf3e.WebAuthenticatorNativeBrowserActivity"
android:launchMode="1" />
<activity
android:name="com.microsoft.windowsazure.mobileservices.authentication.RedirectUrlActivity" />
<service
android:name="crc64a98abb514ffad9f1.KeepAliveService" />
<receiver
android:label="Essentials Connectivity Broadcast Receiver"
android:name="crc64a0e0a82d0db9a07d.ConnectivityBroadcastReceiver"
android:enabled="true"
android:exported="false" />
<receiver
android:name="crc643f46942d9dd1fff9.PowerSaveModeBroadcastReceiver"
android:enabled="true"
android:exported="false" />
<provider
android:name="mono.android.MultiDexLoader"
android:exported="false"
android:authorities="com.app.myapp.mono.android.MultiDexLoader.__mono_init__"
android:initOrder="1999999999" />
<provider
android:name="mono.MonoRuntimeProvider"
android:exported="false"
android:authorities="com.app.myapp.mono.MonoRuntimeProvider.__mono_init__"
android:initOrder="1999999998" />
<activity
android:theme="@ref/0x01030010"
android:name="com.google.android.gms.common.api.GoogleApiActivity"
android:exported="false" />
<meta-data
android:name="com.google.android.gms.version"
android:value="@ref/0x7f090008" />
</application>
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE" />
android:targetSdkVersion
设置为
29
但是在解决方案的 list 中更改它并更改项目文件的
TargetFrameworkVersion
来自
v11.0
至
v12.0
也没有帮助。 (这是在 Visual Studio 中使用项目属性的
Application > Compile using Android version
值更新的。)
最佳答案
如果你已经将编译版本提升到 31,那么你需要添加
android:exported="true"
致您的 Activity 、服务和接收者。见
here .
<uses-sdk
android:minSdkVersion="21"
android:targetSdkVersion="31" />
<uses-permission
android:name="android.permission.FLASHLIGHT" />
<uses-permission
android:name="android.permission.INTERNET" />
<uses-permission
android:name="android.permission.CAMERA" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:label="D MyApp"
android:icon="@ref/0x7f07015e"
android:name="crc646948444ac10504e5.MainApplication"
android:debuggable="true"
android:allowBackup="true"
android:largeHeap="true"
android:extractNativeLibs="true">
<meta-data
android:name="com.google.android.gms.vision.DEPENDENCIES"
android:value="barcode" />
<activity
android:theme="@ref/0x7f0d0001"
android:label="MyApp"
android:icon="@ref/0x7f07015e"
android:name="crc646948444ac10504e5.MainActivity"
android:screenOrientation="1"
android:configChanges="0x680"
android:exported="true"/>
<activity
android:theme="@ref/0x7f0d0000"
android:name="crc646948444ac10504e5.SplashActivity"
android:exported="true"
android:screenOrientation="1"
android:noHistory="true">
<intent-filter>
<action
android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:label="Web Authenticator"
android:name="crc641e66d166111bdf3e.FormAuthenticatorActivity"
android:exported="true"/>
<activity
android:label="Web Authenticator"
android:name="crc641e66d166111bdf3e.WebAuthenticatorActivity"
android:exported="true"/>
<activity
android:label="Web Authenticator Native Browser"
android:name="crc641e66d166111bdf3e.WebAuthenticatorNativeBrowserActivity"
android:launchMode="1"
android:exported="true"/>
<activity
android:name="com.microsoft.windowsazure.mobileservices.authentication.RedirectUrlActivity"
android:exported="true"/>
<service
android:name="crc64a98abb514ffad9f1.KeepAliveService"
android:exported="true"/>
<receiver
android:label="Essentials Connectivity Broadcast Receiver"
android:name="crc64a0e0a82d0db9a07d.ConnectivityBroadcastReceiver"
android:enabled="true"
android:exported="false" />
<receiver
android:name="crc643f46942d9dd1fff9.PowerSaveModeBroadcastReceiver"
android:enabled="true"
android:exported="false" />
<provider
android:name="mono.android.MultiDexLoader"
android:exported="false"
android:authorities="com.app.myapp.mono.android.MultiDexLoader.__mono_init__"
android:initOrder="1999999999" />
<provider
android:name="mono.MonoRuntimeProvider"
android:exported="false"
android:authorities="com.app.myapp.mono.MonoRuntimeProvider.__mono_init__"
android:initOrder="1999999998" />
<activity
android:theme="@ref/0x01030010"
android:name="com.google.android.gms.common.api.GoogleApiActivity"
android:exported="false" />
<meta-data
android:name="com.google.android.gms.version"
android:value="@ref/0x7f090008" />
</application>
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE" />
请注意真正需要导出或不需要导出的内容并进行相应更改。
As of Android 11, it's mandatory to use the APK signer (if you use API level 30) as it will set some extra schemes "APK Signature Scheme v2 now required". App Center now (since Dec 17, 2020) signs Android applications using APK signer internally, instead of JAR signer which was used previously. As part of the feature to enable APK signer in App Center, Android signing task V3 was implemented, and requirements for new Signing task were to change how keystore file is saved - to store the keystore file in an AzDO secure file (Android signing build and release task - Azure Pipelines | Microsoft Docs).
WarningAny build configurations that had their keystore files uploaded prior to Dec 17, 2020 still use the APK Signature Scheme v2 signing method (jarsigner). To use the APK Signature Scheme v3 signing flow, users just have to re-upload their keystore files and save their branch configuration.
关于Android 12 APK 在安装时抛出无效包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71022310/
我已经为我的 Android 应用设置了 Google Play 测试版程序。想象一下以下场景: 我将 apk1 作为 versionCode 1 的测试版发布 Beta 用户安装此 Beta 版本
我需要在 android studio 中生成一个未签名的 APK。我看到了其他一些关于此的问题。 Export unsigned apk from a Gradle Project in Andro
我想知道更新是如何进行的?它如何更新特定文件仅更改?我的意思是在更新期间,整个 apk 是否再次安装或仅特定文件更改?它是如何工作的?我只想知道 android market 如何在没有用户提示的情况
如何在使用新 apk 的情况下升级 android 应用程序而不丢失以前的 apk 数据? 最佳答案 有一个versionCode AndroidManifest.xml 中的元素。这是一个整数,每个
我看到 Android 在输出文件夹中同时创建了一个“普通”APK 和一个 androidTest APK? 即 app-dev-debug.apk app-dev-debug-androidTest
Upload failed You uploaded an APK that is signed with a different certificate to your previous APKs.
对我来说,这发生在所有项目中。当我从 Android Studio 生成签名的 apk 时,我收到以下正确消息: 问题:在此之后,当我实际上并没有生成签名的 apk 时,我继续为项目发生的每个构建收到
我需要在 Windows 上反编译 & 重新编译一个 apk... 我正在关注此链接 Reverse Engineer APK 问题是我找不到发出请求的文件(请参阅上面的链接)“找到发出请求的文件 g
我寻找一种方法来制作一个可以更改我的第一个 apk 的默认图标的 apk。例如 ADW Launcher。 我该怎么做?也许是一种获取另一个 apk 的绘图的方法? 感谢您的帮助。 最佳答案 我想您正
我正在开发一个基于图像的应用程序,具有以下属性: 手机版本的 apk 大小(不含图像)约为 15MB,平板电脑版本约为 25MB。 图像总大小约为 30MB。 该应用程序将以测试版状态发布,可能会频繁
假设在网站上我有一个 apk 和网站的在线 JSON 数据,现在依赖于那个 apk 我想用新的 JSON 数据重新生成新的 apk 文件,还需要Manifest文件中的应用图标也要动态变化,包名也要动
今天我注意到当我在 Eclipse 中导出我的应用程序时,我得到了一个无扩展名的文件。我过去没有注意到这一点,所以我将此文件作为我的应用程序的 APK 文件上传到 Google Play。当我今天看到
我有一个同时适用于手机/平板电脑和电视的应用程序。当我在电视上使用 leanback 时,这个项目由 3 个模块组成。第一个(库)包含电视和移动/平板电脑模块通用的所有类,然后我有电视和移动/平板电脑
我制作了一个仅包含微调器和按钮的基本应用程序,但它的 Release模式大小为 1.4 MB,我认为这太大了,因为也有很多低于 200kB 的好应用程序可用 所以我在 gradle 文件中尝试了 b
我的移动开发人员已向我提供了一个 APK 文件,我需要将其上传到商店。它说,你需要在 Release模式下编译它。有没有一种方法可以让我对 apk 执行此操作,使其进入 Release模式并使用 ke
我在里面制作了一个 android 应用程序,我已经在“res/raw”文件夹中放置了一个 apk 文件,现在我在安装我的 apk 时想要什么,raw 文件夹中的 apk 也会安装,而无需再次单击安装
我有一个带有未签名包的 android 应用程序,每当我尝试安装此 apk 时,都会出现以下错误消息:Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]。 现
我开发的 Android 应用由不同的人群进行测试。 我们使用 Google Play Beta 方案。 同一组测试人员也提供生产支持。完成测试后,他们需要将设备恢复为生产应用,以便反射(reflec
我有一个已发布的应用程序。该应用程序使用 Google 的许可检查,因此为了测试该应用程序的新版本(使用测试帐户),必须在开发者控制台中上传 APK: 对于尚未上传到 Google Play 的应用程
我正在制作一个应用程序,我想在其中调用其他一些 apk(未预装),它们存在于我手机的 SD 卡中,我希望在安装主应用程序时安装它们。这可能吗?以及如何? 最佳答案 您可以使用以下 Intent 请求
我是一名优秀的程序员,十分优秀!