Java Android:添加发送短信权限导致gradle构建失败
我正在启动一个简单的应用程序,只需按一下按钮就可以发送短信。我正在我的手机上测试这个,因为我需要网络。第一次应用程序构建很好,但按下按钮没有做任何事情,因为我忘记添加权限Java Android:添加发送短信权限导致gradle构建失败,java,android,gradle,android-gradle-plugin,Java,Android,Gradle,Android Gradle Plugin,我正在启动一个简单的应用程序,只需按一下按钮就可以发送短信。我正在我的手机上测试这个,因为我需要网络。第一次应用程序构建很好,但按下按钮没有做任何事情,因为我忘记添加权限android.permission.SEND\u SMS。一旦我添加了它,就会面临以下错误 Error:java.io.FileNotFoundException: C:\Users\user\AndroidStudioProjects\myApp\app\build\intermediates\res\resources-d
android.permission.SEND\u SMS
。一旦我添加了它,就会面临以下错误
Error:java.io.FileNotFoundException: C:\Users\user\AndroidStudioProjects\myApp\app\build\intermediates\res\resources-debug.ap_ (Access is denied)
C:\Users\user\AndroidStudioProjects\myApp\app\build\intermediates\res\resources-debug.ap_ (Access is denied)
清单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.android.myapp">
<uses-permission android:name="android.permission.SEND_SMS" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
这意味着你没有编辑或修改的权限, 请将“中间产物”文件夹重新清理并构建。 希望它能起作用。 C:\Users\user\AndroidStudioProjects\myApp\app\build\intermediates\ 或者检查权限等等
如果您只是导入一些jar文件,您可以尝试删除它们,然后一次添加一个。这将帮助您确定是哪一个原因导致了错误。我找到了答案!对于试图解决此问题的任何其他人,您需要在清单中同时显示
android.permission.SEND\u SMS
和android.permission.RECEIVE\u SMS
:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.android.myapp">
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
移植你的gradle和gradle的logcat。清理你的android项目我尝试过清理它,但没有帮助,可能是因为发送短信属于危险权限类别。。由于您使用的是23 target,我不知道studio的情况,但在eclipse中,它将在运行时崩溃。。可能是studio在编译时进行chekcking,尝试正常权限,然后构建gradle。我在启动活动中使用了运行时代码。。。检查这个。。还有很多演示版可供选择。。试试这个
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.android.myapp">
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>