我有两个申请.
一个是宣布许可和单身Activity:
部分的AndroidManifest.xml
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:permission="your.namespace.permission.TEST" >
<activity
android:name=".DeclaringPermissionActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="myapp"
android:host="myapp.mycompany.com" />
</intent-filter>
</activity>
</application>
Run Code Online (Sandbox Code Playgroud)
第二个声明是使用权限
部分的AndroidManifest.xml
<uses-sdk android:minSdkVersion="10" />
<uses-permission android:name="your.namespace.permission.TEST" />
<application
Run Code Online (Sandbox Code Playgroud)
部分Activity:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("myapp://myapp.mycompany.com/index")));
}
Run Code Online (Sandbox Code Playgroud)
我正在安装应用程序声明权限,然后我运行第二个应用程序.
结果我得到安全异常:
01-11 09:46:55.249: E/AndroidRuntime(347): java.lang.RuntimeException: Unable to start activity ComponentInfo{your.namespace2/your.namespace2.UsingPErmissionActivity}: java.lang.SecurityException: Permission Denial: starting Intent …Run Code Online (Sandbox Code Playgroud) 我正在将当前项目的大型应用程序移动到Android Studio和Gradle中.我目前陷入以下问题:
Error:(87, 9) Execution failed for task ':App:processDebugManifest'.
> Manifest merger failed : Attribute application@label value=(@string/app_label) from AndroidManifest.xml:87:9
is also present at ANDROID_APPLICATION:Library:unspecified:9:18 value=(@string/app_name)
Suggestion: add 'tools:replace="android:label"' to <application> element at AndroidManifest.xml:82:5 to override
Run Code Online (Sandbox Code Playgroud)
我尝试将以下属性添加到主AndroidManifest.xml文件中:
tools:replace="android:label, *App Name*"
tools:replace="android:label, @string/app_label"
tools:replace="android:label"
Run Code Online (Sandbox Code Playgroud)
这些属性定义都不起作用.我究竟做错了什么?
我在为Android Studio中的风格定义两个不同的清单文件时遇到问题.这是我目前的项目结构:

该AndroidManifest.xml在free味道是这样的:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="se.example.package">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
</manifest>
Run Code Online (Sandbox Code Playgroud)
该AndroidManifest.xml在main味道没有用途的权限,但其中包含的是所有口味之间共享清单代码的其余部分.
该AndroidManifest.xml在pro味道是这样的:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="se.example.package">
<uses-permission android:name="com.android.vending.CHECK_LICENSE" />
</manifest>
Run Code Online (Sandbox Code Playgroud)
build.gradle定义了两种风格
productFlavors {
free {
applicationId 'se.example.package.free'
minSdkVersion 14
targetSdkVersion 21
versionCode 1
versionName '1.0'
}
pro {
minSdkVersion 14
applicationId 'se.example.package.pro'
targetSdkVersion 21
versionCode 2
versionName '1.1'
}
}
Run Code Online (Sandbox Code Playgroud)
我期待的结果是不同的风格定义了不同的使用权限.不是这种情况.结果目前两种口味仅定义了专业口味中<uses-permission android:name="com.android.vending.CHECK_LICENSE" />定义 …
android android-manifest android-studio android-gradle-plugin
查看intent.resolveActivity != null 但启动 Intent 会引发 ActivityNotFound 异常,我在打开浏览器或具有深度链接的应用程序时写道:
private fun openUrl(url: String) {
val intent = Intent().apply {
action = Intent.ACTION_VIEW
data = Uri.parse(url)
// setDataAndType(Uri.parse(url), "text/html")
// component = ComponentName("com.android.browser", "com.android.browser.BrowserActivity")
// flags = Intent.FLAG_ACTIVITY_CLEAR_TOP + Intent.FLAG_GRANT_READ_URI_PERMISSION
}
val activityInfo = intent.resolveActivityInfo(packageManager, intent.flags)
if (activityInfo?.exported == true) {
startActivity(intent)
} else {
Toast.makeText(
this,
"No application can handle the link",
Toast.LENGTH_SHORT
).show()
}
}
Run Code Online (Sandbox Code Playgroud)
它不起作用。在 API 30 模拟器中找不到浏览器,而一个常见的解决方案有效:
private fun openUrl(url: String) {
val intent …Run Code Online (Sandbox Code Playgroud) android android-manifest android-intent activitynotfoundexception android-11
在Android Manifest的Permissions选项卡中,在下拉列表中有名为android.permission.ACCESS_NETWORK_STATE和的选项android.permission.ACCESS_WIFI_STATE.他们之间有什么区别?是ACCESS_NETWORK_STATE不是更广义的ACCESS_WIFI_STATE?
谢谢.
我正在关注HeadFirst Android开发中的教程并在添加后遇到问题:private ActionBarDrawerToggle drawerToggle;
该控件已弃用,因此我按照Stack上的说明通过将com.android.support:appcompat-v7:26.0.0-alpha1添加到应用程序模块依赖项来解决该问题
但现在我收到以下构建错误:
错误:任务':app:processDebugManifest'的执行失败.
清单合并失败:来自[com.android.support:recyclerview-v7:25.3.1]的属性meta-data#android.support.VERSION@value value =(25.3.1)AndroidManifest.xml:24:9-31也是出现在[com.android.support:appcompat-v7:26.0.0-alpha1] AndroidManifest.xml:27:9-38 value =(26.0.0-alpha1).建议:在AndroidManifest.xml:22:5-24:34中添加'tools:replace ="android:value"'来覆盖.
这是代码:
android gradle android-manifest android-support-library android-studio
我用远程接口编写了一个服务,并将其安装在我的PC的Eclipse AVD上.我有一个客户端测试工具,它启动并调用服务中的方法.最初我通过控件类和活动安装了服务,我现在已将其删除,因此服务的清单如下所示:
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.myname.gridservice"
android:versionCode="1"
android:versionName="1.0">
<application
android:icon="@drawable/icon"
android:label="@string/app_name"
android:debuggable="true">
<service
android:enabled="true"
android:debuggable="true"
android:name="OverlayService">
<intent-filter>
<action android:name="com.myname.OverlayService.SERVICE"/>
<action android:name="com.myname.gridservice.IRemoteInterface" />
</intent-filter>
</service>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
所以没有活动标签.
当我从Eclipse中的调试图标启动它时,控制台告诉我它正在安装apk(它是),但它不会显示为调试线程并且不会触发断点,尽管服务的行为是可以的客户看到了它.如果我将服务标签包装在具有关联类的活动标签中并启动它,那么我可以调试它
是否可以调试服务而不将其包装在活动中?
我是Android OS编程的小伙子.我在书中注意到,当我在清单中注册活动时,作者在活动名称前面放置了一个"点".我查看了Android开发者网站,我无法弄清楚为什么我们需要"点"."点"实际上是服务器的目的吗?我需要它吗?我在下面列举了一个例子.注意"NewActivity"之前的"点":
<activity android:name=".NewActivity"></activity>
Run Code Online (Sandbox Code Playgroud) 我有一个非常分层的应用程序(活动类似于League> Team> Position> Player)所以我已经完成了每个活动singleTop,以保持导航合理并防止重复实例.
现在我正在制作我的第二个应用程序,我已经看到它建议声明我的应用程序是singleTask为了防止重复的实例.有人可以帮助解释每种方法的优点吗?
我的新应用程序只是一个包含3个片段的活动,然后我可能会添加一个设置活动,也许还有一个FAQ.
编辑:我刚刚意识到这singleTask并没有像我想象的那样阻止我的应用程序的重复实例.现在正在寻找处理这个问题的正确方法......
android android-manifest android-activity android-navigation
我在这个网站上尝试了很多解决方案,但问题仍未解决.问题是由于Android X库.当我添加Android X时,此问题已得到解决,但它开启了新问题.我不想添加Android X.如何解决这个问题?
早些时候这个错误即将来临:
Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91
is also present at [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:19:5-142:19 to override.
Run Code Online (Sandbox Code Playgroud)
我添加后tools:replace="android:appComponentFactory",出现此错误:
java.lang.RuntimeException: Manifest merger failed with multiple errors, see logs
at com.android.builder.core.AndroidBuilder.mergeManifestsForApplication(AndroidBuilder.java:540)
at com.android.build.gradle.tasks.MergeManifests.doFullTaskAction(MergeManifests.java:173)
Run Code Online (Sandbox Code Playgroud)
合并错误(在Android Manifest中):
错误:工具:替换为line:2指定属性android:appComponentFactory,但没有指定新值的应用程序主清单(此文件),第1行
表现:
<?xml version="1.0" encoding="utf-8"?>
<manifest
package="com.example"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:replace="allowBackup, android:appComponentFactory"
android:allowBackup="false">
...
<application
android:name="com.example"
android:icon="@mipmap/icon"
android:debuggable="true"
android:hardwareAccelerated="false"
android:largeHeap="true"
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:allowBackup="false"
tools:ignore="GoogleAppIndexingWarning,HardcodedDebugMode">
...
Run Code Online (Sandbox Code Playgroud)
模块级build.gradle中的依赖项块:
Manifest merger failed : Attribute …Run Code Online (Sandbox Code Playgroud) java android android-manifest android-gradle-plugin androidx