gpt4 book ai didi

android - Android Studio 3.0 中的 AndroidManifest.xml 问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:02:23 25 4
gpt4 key购买 nike

<分区>

我最近从 Canary channel 安装了 Android Studio 3.0。但是,加载我的旧项目时,这会不断出现在根据构建变体自动生成的 AndroidManifest.xml 文件中:

Error:(49) unknown element <uses-sdk> found

这也显示:

Error:/home/computername/AndroidStudioProjects/applicationname/app/build/intermediates/manifests/full/release/AndroidManifest.xml:49 unknown element <uses-sdk> found

不用说,这在 Android Studio 2.3 中不是问题。关于如何解决这个问题的任何想法?我在这里阅读了一些类似的问题,但没有一个解决了我的问题。顺便说一句 - 我将构建变体设置为调试或发布并不重要,它说的是同一件事。此外,“R”类不起作用,如果我将鼠标悬停在 manifest xmlns:android="http://schemas.android.com/apk/res/android 上声明,它说“URI 未注册”。

同样,项目结构完全没有改变,我只是升级到 Android Studio 3.0。

谢谢!

这是 /src/main 下的 AndroidManifest.xml 文件文件夹,它工作得很好。问题出在 /app/build/intermediates/manifests/full 中生成的 AndroidManifest.xml 文件。文件夹 - 这些是破坏我的应用程序的文件夹。

 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.domain.appname">`

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".view.MainActivity"
android:noHistory="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".view.TabbedActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar"
android:screenOrientation="landscape"
android:configChanges="keyboardHidden|orientation|screenSize"
android:noHistory="true">

</activity>
</application>

<!-- PROTECTION_NORMAL permissions, automatically granted -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />

<!-- DANGEROUS PERMISSIONS, must request -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

</manifest>

这是调试或发布不起作用的自动生成 list 的方式:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.domain.appname"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
android:minSdkVersion="21"
android:targetSdkVersion="25" />

<!-- PROTECTION_NORMAL permissions, automatically granted -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />

<!-- DANGEROUS PERMISSIONS, must request -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<meta-data
android:name="android.support.VERSION"
android:value="25.3.1" />

<application
android:allowBackup="true"
android:debuggable="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme" >
<activity
android:name="com.domain.appname.view.MainActivity"
android:noHistory="true" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.domain.appname.view.TabbedActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:label="@string/app_name"
android:noHistory="true"
android:screenOrientation="landscape"
android:theme="@style/AppTheme.NoActionBar" >
</activity>

<uses-sdk
android:minSdkVersion="21"
android:targetSdkVersion="25" />
</application>

</manifest>

稍后编辑

我已经回到 Android Studio 2.3,并将 gradle 插件设置回 2.3.2,下面是自动生成的 AndroidManifest.xml 现在的样子:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.domain.appname.test" >

<uses-sdk
android:minSdkVersion="21"
android:targetSdkVersion="26" />

<instrumentation
android:name="android.support.test.runner.AndroidJUnitRunner"
android:functionalTest="false"
android:handleProfiling="false"
android:label="Tests for com.domain.appname"
android:targetPackage="com.domain.appname" />

<application>
<uses-library android:name="android.test.runner" />
</application>

</manifest>

现在一切正常,但是请注意gradle 3.0.0下自动生成的Manifest文件和gradle 2.3.2下自动生成的Manifest文件的区别

我想我必须等到有人找到解决方案才能在 gradle 3.0.0 下进行这项工作,同时在 Android Studio 3.0 中使用 gradle 插件 2.3.2(我现在正在做,它有效)。

所以问题出在新的 gradle 3.0.0-alpha9

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com