清单提供有关Android系统应用程序的基本信息
我需要创建一个expo插件文件并在app.json中调用它,以便它在android清单中添加以下属性。 我需要创建一个 expo 插件文件并在 app.json 中调用它,以便在 android 清单中添加以下属性。 <uses-feature android:name="android.hardware.touchscreen" android:required="false"/> <uses-feature android:name="android.hardware.faketouch" android:required="false"/> <uses-feature android:name="android.hardware.telephony" android:required="false"/> <uses-feature android:name="android.hardware.camera" android:required="false"/> <uses-feature android:name="android.hardware.nfc" android:required="false"/> <uses-feature android:name="android.hardware.location.gps" android:required="false"/> <uses-feature android:name="android.hardware.microphone" android:required="false"/> <uses-feature android:name="android.hardware.sensor" android:required="false"/> <intent-filter> ... <category android:name="android.intent.category.LEANBACK_LAUNCHER"/> </intent-filter> 我是一名使用 React Native Expo 的 javascript 开发人员,所以我没有自己创建文件的技能,我花了一整天的时间试图弄清楚这一点,但基本上没有来自 Expo 的有用文档。 我在这里找到了类似的帖子:link 我按照以下步骤添加了意图过滤器 在您的博览会项目中创建插件文件夹 创建js文件“example-file.js” 在文件中我添加了以下代码 const { AndroidConfig, withAndroidManifest } = require("@expo/config-plugins"); const { getMainApplicationOrThrow, addMetaDataItemToMainApplication } = AndroidConfig.Manifest; function addAttributesToMainActivity(androidManifest) { const { manifest } = androidManifest; if (!Array.isArray(manifest["application"])) { console.warn( "withWordlLineIntentActivity: No application array in manifest?" ); return androidManifest; } const application = manifest["application"].find( (item) => item.$["android:name"] === ".MainApplication" ); if (!application) { console.warn("withWordlLineIntentActivity: No .MainApplication?"); return androidManifest; } if (!Array.isArray(application["activity"])) { console.warn( "withWordlLineIntentActivity: No activity array in .MainApplication?" ); return androidManifest; } const activity = application["activity"].find( (item) => item.$["android:name"] === ".MainActivity" ); if (!activity) { console.warn("withWordlLineIntentActivity: No .MainActivity?"); return androidManifest; } const action = {}; action.$ = { ...action.$, ...{ "android:name": "com.domain.action.PROCESS_TRANSACTION", }, }; const intent = { action: action }; activity["intent-filter"].push(intent); return androidManifest; } module.exports = function withIntentActivity(config) { return withAndroidManifest(config, (config) => { config.modResults = addAttributesToMainActivity(config.modResults); return config; }); }; 在 app.json 添加对创建的插件的引用 “插件”:[ “./plugins/example-intent.js” ], 运行 expo prebuild 来查看结果 希望对你有一点帮助。 这里是通过自定义配置插件编辑 Android Manifest 的当前文档。 https://docs.expo.dev/config-plugins/development-and-debugging/#modify-androidmanifestxml import { AndroidConfig, ConfigPlugin, withAndroidManifest } from 'expo/config-plugins'; import { ExpoConfig } from 'expo/config'; // Using helpers keeps error messages unified and helps cut down on XML format changes. const { addMetaDataItemToMainApplication, getMainApplicationOrThrow } = AndroidConfig.Manifest; export const withMyCustomConfig: ConfigPlugin = config => { return withAndroidManifest(config, async config => { // Modifiers can be async, but try to keep them fast. config.modResults = await setCustomConfigAsync(config, config.modResults); return config; }); }; // Splitting this function out of the mod makes it easier to test. async function setCustomConfigAsync( config: Pick<ExpoConfig, 'android'>, androidManifest: AndroidConfig.Manifest.AndroidManifest ): Promise<AndroidConfig.Manifest.AndroidManifest> { const appId = 'my-app-id'; // Get the <application /> tag and assert if it doesn't exist. const mainApplication = getMainApplicationOrThrow(androidManifest); addMetaDataItemToMainApplication( mainApplication, // value for `android:name` 'my-app-id-key', // value for `android:value` appId ); return androidManifest; }
无法找到明确的活动类。您是否在 AndroidManifest.xml 中声明了此活动
我正在尝试按照此问题中接受的答案在我的应用程序中实现 PreferenceActivity 我得到上面的异常 android.content.ActivityNotFoundException:无法找到显式
我需要忽略哪些 Android 配置更改以防止系统语言更改时破坏/创建 Activity?
我的基于 Vulkan 的游戏基于 NativeActivity,需要避免所有活动销毁/重新创建配置更改,因为这样做需要大量的加载时间。我目前有
“错误:升级到 targetSDK 34 后需要“RECEIVER_EXPORTED”或“RECEIVER_NOT_EXPORTED”以进行 Firebase FCM 应用内调用
我最近将应用程序的目标 SDK 从 33 升级到 34。更新后,我开始遇到以下错误: 当
我刚刚添加了用户通过备份自定义文件类型在我的应用程序中恢复数据的功能。当使用我的应用程序从文件资源管理器打开文件时,我的根(主)活动将打开,...
我正在开发一个需要使用谷歌地图的android项目。我一直在阅读教程,并且必须将其添加到 AndroidManifest.xml 文件中: 我正在开发一个需要使用谷歌地图的android项目。我一直在阅读教程,我必须将其添加到 AndroidManifest.xml 文件中: <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> 问题是,我不知道用什么数字替换“@integer/google_play_services_version”。 如果有人知道我应该在那里输入什么,以及如何获取该整数值,我将不胜感激。 无需更换。值 @integer/google_play_services_version 可以解决这个问题。只需确保您拥有已更新的最新 Google Play 服务库即可。 如果您想添加号码而不是google-play-services_lib>res>values>version.xml,您可以在@integer/google_play_services_version下找到它。 <?xml version="1.0" encoding="utf-8"?> <resources> <integer name="google_play_services_version">4030500</integer> </resources> 这里是在您的项目中设置 Google Play 服务的官方指南。 仅供参考,您可以在此文件夹中找到版本号: ~\android-studio\sdk\extras\google\m2repository\com\google\android\gms\play-services 享受吧。 您提到的错误可能是因为没有添加 Google Play 服务库作为项目的库,请执行以下操作。 选择文件 -> 导入 -> Android -> 将现有 Android 代码放入工作区,然后单击下一步。 选择浏览,输入 /extras/google/google_play_services/libproject/google-play-services_lib,然后单击“打开”。 3.选择将项目复制到工作区并单击完成。 将 Google Play 服务标记为库:右键单击 google-play-services_lib 项目,然后选择“属性”>“Android”。勾选是库选项。 右键单击您的项目 -> 转到属性 -> 单击 android -> 单击添加按钮 -> 单击 google_play_services_lib -> 确定 -> 应用 -> 确定清理你的项目 这将消除您的错误 如果您使用的是 gradle,只需确保您拥有更新的 google play services 版本(使用 SDK 管理器下载)并将其放入项目模块依赖项部分: compile 'com.google.android.gms:play-services:+' 重要提示: 一般来说,删除正在编译的源的具体版本并不是一个好的做法。 我曾经遇到过这样的情况:我必须使用 Google Play 服务的 Froyo 版本,而该版本不需要标签。事实上,XML 条目 google_play_services_version 在 Google Play 服务库的 Froyo+ 版本中不存在 在您的清单中 -: <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> 在你的 gradle 中 -: implementation 'com.google.android.gms:play-services-ads:23.4.0' 对于最新版本 -: https://mvnrepository.com/artifact/com.google.android.gms/play-services-ads 享受!!
Android 和 iOS 中 google meet 的包名称是什么?
我想知道Android和iOS中Google meet的包名称。目前我知道 Android 清单中 Zoom 和 Teams 的包名称。这是我指定的 Android 清单代码...
应用程序因违反我们的恶意行为或用户数据政策以及包含安全漏洞的软件而被拒绝
我已经更新了应用程序,但被 Play 商店拒绝了,说 “我们拒绝了您的应用程序,程序包名称为 XYZ,因为它违反了我们的恶意行为或用户数据政策。如果您提交了更新...
android.adservices.AD_SERVICES_CONFIG Android 清单错误
所以我的清单合并、play-services-measurement-api 和 play-services-ads-lite 遇到问题,所以我尝试添加 所以我的清单合并、play-services-measurement-api 和 play-services-ads-lite 遇到问题,所以我尝试添加 <meta-data android:name="android.adservices.AD_SERVICES_CONFIG" android:resource="@xml/gma_ad_services_config" /> 覆盖错误,以便合并可以忽略一个错误,但它不起作用 有人有解决办法吗? 我什至尝试注释掉广告初始化,但它不起作用, 这是我的问题?如果我降级 AGP 并降低 Google Ads SDK,错误会得到解决吗? 我尝试评论广告,但错误没有解决 我尝试将 Google Ads SDK 降低到 22.X.X,但没有成功。 我也尝试将 AGP 更新到 9.0 但没有成功。 显然,Android studio 使用最新的依赖项和库构建您的应用程序,因此您必须回溯您的库以支持您的 android API <meta-data android:name="android.adservices.AD_SERVICES_CONFIG" android:resource="@xml/gma_ad_services_config" /> 这只适用于 Android 13+ https://developers.google.com/admob/android/quick-start 因此,如果您正在构建 anroid 10+ 应用程序,请将您的广告 sdk 回溯到可能是 22.X,而不是当前的 23.X 祝开发者好运,希望这会有所帮助:)
将“android:enabled”指定为 false 的 <activity-alias> 的目的是什么?
我正在查看一个应用程序,该应用程序描述了 Android 清单中的多个元素,但“android:enabled”为 false。文档指出属性指定 目标是否活动...
“请确保 android 清单是有效的 XML 文档,然后重试”Flutter 'androidManifest.xml' 错误
我正在使用 VS Code 进行 Flutter 开发。 这是我的 AndroidManifest.xml 文件: 我正在使用 VS Code 进行 Flutter 开发。 这是我的AndroidManifest.xml文件: <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.object_detection"> <!-- io.flutter.app.FlutterApplication is an android.app.Application that calls FlutterMain.startInitialization(this); in its onCreate method. In most cases you can leave this as-is, but you if you want to provide additional functionality it is fine to subclass or reimplement FlutterApplication and put your custom class here. --> <application android:name="io.flutter.app.FlutterApplication" android:label="Object Detector" android:icon="@mipmap/launcher_icon"> <meta-data android:name="com.google.android.gms.ads.APPLICATIN_ID" android:value <activity android:name=".MainActivity" android:launchMode="singleTop" android:theme="@style/LaunchTheme" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" android:hardwareAccelerated="true" android:windowSoftInputMode="adjustResize"> <!-- Specifies an Android theme to apply to this Activity as soon as the Android process has started. This theme is visible to the user while the Flutter UI initializes. After that, this theme continues to determine the Window background behind the Flutter UI. --> <meta-data android:name="io.flutter.embedding.android.NormalTheme" android:resource="@style/NormalTheme" /> <!-- Displays an Android View that continues showing the launch screen Drawable until Flutter paints its first frame, then this splash screen fades out. A splash screen is useful to avoid any visual gap between the end of Android's launch screen and the painting of Flutter's first frame. --> <meta-data android:name="io.flutter.embedding.android.SplashScreenDrawable" android:resource="@drawable/launch_background" /> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> <!-- Don't delete the meta-data below. This is used by the Flutter tool to generate GeneratedPluginRegistrant.java --> <meta-data android:name="flutterEmbedding" android:value="2" /> </application> </manifest> 我收到此错误: 请确保 Android 清单是有效的 XML 文档,然后重试 我想我有双引号或其他问题。 您的 android:value 不在参数中。这是更正的清单: <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.object_detection"> <!-- io.flutter.app.FlutterApplication is an android.app.Application that calls FlutterMain.startInitialization(this); in its onCreate method. In most cases you can leave this as-is, but you if you want to provide additional functionality it is fine to subclass or reimplement FlutterApplication and put your custom class here. --> <application android:name="io.flutter.app.FlutterApplication" android:label="Object Detector" android:icon="@mipmap/launcher_icon"> <meta-data android:name="com.google.android.gms.ads.APPLICATIN_ID" <activity android:name=".MainActivity" android:launchMode="singleTop" android:theme="@style/LaunchTheme" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" android:hardwareAccelerated="true" android:windowSoftInputMode="adjustResize"> <!-- Specifies an Android theme to apply to this Activity as soon as the Android process has started. This theme is visible to the user while the Flutter UI initializes. After that, this theme continues to determine the Window background behind the Flutter UI. --> <meta-data android:name="io.flutter.embedding.android.NormalTheme" android:resource="@style/NormalTheme" /> <!-- Displays an Android View that continues showing the launch screen Drawable until Flutter paints its first frame, then this splash screen fades out. A splash screen is useful to avoid any visual gap between the end of Android's launch screen and the painting of Flutter's first frame. --> <meta-data android:name="io.flutter.embedding.android.SplashScreenDrawable" android:resource="@drawable/launch_background" /> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> <!-- Don't delete the meta-data below. This is used by the Flutter tool to generate GeneratedPluginRegistrant.java --> <meta-data android:name="flutterEmbedding" android:value="2" /> </application> </manifest>
品牌特定的`AndroidManifest.xml`未合并到.NET MAUI项目中
我正在开发一个个人项目,我需要为不同品牌的应用程序使用不同的 AndroidManifest.xml 文件。每个品牌都有自己的清单文件,位于单独的目录中。豪...
AndroidManifest.xml 丢失尝试重新导入插件
我在统一实施 google admob 时遇到问题。 我从 github 下载了最新版本的 Unity 插件,但缺少 xml 清单,我不知道如何获取该文件。我试过了
如何在Java中没有系统权限的情况下在每个应用程序启动时以编程方式清除应用程序缓存?
我正在开发一个Android应用程序,每次应用程序启动时我都需要清除应用程序的缓存。我目前正在使用此代码来尝试删除缓存: 文件目录 = 新文件(cacheFilePath); 如果(目录
我将我的应用程序从 Android 13 升级到 14(即 API 级别 34)。我能够部署该应用程序并在本地运行得很好。 当我部署到 Google Play 商店后,商店现在显示“您的设备...
将应用程序升级到Android 14并在设备上运行,但Google Play商店显示“您的设备与此版本不兼容”
我将我的应用程序从 Android 13 升级到 14(即 API 级别 34)。我能够部署该应用程序并在本地运行得很好。 当我部署到 Google Play 商店后,商店现在显示“您的设备...
我是flutter开发的初学者,我在Flutter上更改应用程序名称时遇到问题,问题是当我单击“最近的应用程序”或“
如何将我的 Activity 设置为 Android 中的主要 Activity? [重复]
我想创建自己的活动作为主要活动,而不是使用默认的 MainActivity。 我如何在 android 清单中定义它?
我正在编写一个应用程序,其中主机应用程序(我们称其为基本应用程序)调用并导航到不同模块中的活动。该模块是一个 Android 库,有自己的自定义应用程序...
当我尝试运行代码时,它一直显示“Android资源链接失败”。我尝试将 AndroidManifest.xml 中的文件重命名为 当我尝试运行代码时,它一直显示“Android 资源链接失败”。我尝试将 AndroidManifest.xml 中的文件重命名为 <meta-data android:name="com.google.android.actions" android:resource="@xml/Birthday" /> 小写**“/生日”**,但它会自动更改为**“/生日”。** 错误消息副本 Android资源链接失败 C:\Users\Nahum\AndroidStudioProjects\HappyBirthday pp uild\intermediates\packaged_manifests\debug\AndroidManifest.xml:24:错误:找不到资源 xml/Birthday (又名 com.example.happybirthday:xml/Birthday)。 错误:处理清单失败。 我尝试重命名文件我尝试将 AndroidManifest.xml 中的文件重命名为小写,但它不断自动更改为大写。 您可以尝试忽略资源的大小写敏感性 <meta-data android:name="com.google.android.actions" android:resource="@xml/Birthday" /> tools:ignoreCase="true"