React-Native 魅族手机安装:app:installDebug失败解决方法

本文介绍了一种在魅族手机上遇到的React Native应用安装失败问题及其解决方案。通过修改Gradle配置并同步,最终成功解决了“com.android.builder.testing.api.DeviceException:com.android.ddmlib.InstallException:Failedtoinstallall”的错误。

问题描述

之前在Blackberry Priv上 使用语句 react-native run-android 时并没有出现过任何问题,但是换成魅蓝 note后却报出了如下错误

“com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallException: Failed to install all”


在网上查了一下貌似是魅族手机的问题,并没有找到比较好的解决方法,于是随便尝试后发现了解决办法。

解决方法

1.通过Android Studio打开react-native中的android工程



2.打开后会发现Gradle报错,按照报错信息完成修改即可


3.AS中通过Gradle同步后,再在Terminal中运行发现问题已解决


这是我的配置 <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.gznw.szjl"> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 获取网络状态 --> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- 获取设备信息 --> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 获取MAC地址--> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 读写sdcard,storage等等 --> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <!-- 允许程序录制音频 --> <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /> <!-- OPTIONAL PERMISSIONS, REMOVE WHATEVER YOU DO NOT NEED --> <!-- <uses-permission android:name="android.permission.MANAGE_DOCUMENTS" />--> <uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" /> <!-- <uses-permission android:name="android.permission.USE_FINGERPRINT" />--> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <!-- These require runtime permissions on M --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.READ_CALENDAR" /> <uses-permission android:name="android.permission.WRITE_CALENDAR" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <!-- Oppo 推送 --> <uses-permission android:name="com.coloros.mcs.permission.RECIEVE_MCS_MESSAGE" /> <uses-permission android:name="com.heytap.mcs.permission.RECIEVE_MCS_MESSAGE" /> <!-- 魅族推送 --> <uses-permission android:name="com.meizu.flyme.push.permission.RECEIVE" /> <permission android:name="${applicationId}.push.permission.MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="${applicationId}.push.permission.MESSAGE" /> <!-- 兼容flyme3.0配置权限--> <uses-permission android:name="com.meizu.c2dm.permission.RECEIVE" /> <permission android:name="${applicationId}.permission.C2D_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="${applicationId}.permission.C2D_MESSAGE" /> <!-- <uses-permission android:name="android.permission.WRITE_SETTINGS" />--> <!-- END OPTIONAL PERMISSIONS --> <!-- 小米推送 --> <permission android:name="${applicationId}.permission.MIPUSH_RECEIVE" android:protectionLevel="signature" /> <uses-permission android:name="${applicationId}.permission.MIPUSH_RECEIVE" /> <!-- 刚移除 --> <!-- <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" tools:ignore="ProtectedPermissions" /> --> <application android:name=".MainApplication" android:label="${app_name}" android:icon="@mipmap/ic_launcher" android:theme="@style/AppTheme" android:allowBackup="true" android:largeHeap="true" android:usesCleartextTraffic="true" tools:replace="android:label,android:value,android:theme,android:allowBackup" android:networkSecurityConfig="@xml/network_security_config"> <meta-data android:name="com.amap.api.v2.apikey" android:value="${amapKey}" /> <activity android:name=".MainActivity" android:launchMode="singleTask" android:screenOrientation="portrait" android:configChanges="keyboard|keyboardHidden|orientation|screenSize" android:windowSoftInputMode="adjustResize"> <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="szjl" /> </intent-filter> </activity> <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" /> <activity android:name="com.theartofdev.edmodo.cropper.CropImageActivity" android:theme="@style/Base.Theme.AppCompat"> </activity> <!-- 小米推送配置 --> <service android:name="com.xiaomi.push.service.XMJobService" android:enabled="true" android:exported="false" android:permission="android.permission.BIND_JOB_SERVICE" android:process=":mixpush" /> <service android:name="com.xiaomi.push.service.XMPushService" android:enabled="true" android:process=":mixpush" /> <receiver android:name="com.xiaomi.push.service.receivers.PingReceiver" android:exported="false" android:process=":mixpush"> <intent-filter> <action android:name="com.xiaomi.push.PING_TIMER" /> </intent-filter> </receiver> <receiver android:name="com.xiaomi.push.service.receivers.NetworkStatusReceiver" android:exported="true"> <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </receiver> <service android:name="com.xiaomi.mipush.sdk.PushMessageHandler" android:enabled="true" android:exported="true" /> <service android:name="com.xiaomi.mipush.sdk.MessageHandleService" android:enabled="true" /> <receiver android:name="com.netease.nimlib.mixpush.mi.MiPushReceiver" android:exported="true"> <intent-filter android:priority="0x7fffffff"> <action android:name="com.xiaomi.mipush.RECEIVE_MESSAGE" /> <action android:name="com.xiaomi.mipush.MESSAGE_ARRIVED" /> <action android:name="com.xiaomi.mipush.ERROR" /> </intent-filter> </receiver> <!--华为推送配置--> <service android:name="com.netease.nimlib.mixpush.hw.HWPushService" android:exported="false"> <intent-filter> <action android:name="com.huawei.push.action.MESSAGING_EVENT" /> </intent-filter> </service> <!--按照官方文档不需要配置,读取的是agconnect-service.json文件配置,测试结果是读取不到只能加上该配置--> <meta-data android:name="com.huawei.hms.client.appid" android:value="${hwappid}" /> <!--Vivo推送--> <service android:name="com.vivo.push.sdk.service.CommandClientService" android:exported="true" /> <activity android:name="com.vivo.push.sdk.LinkProxyClientActivity" android:exported="false" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar" /> <receiver android:name="com.netease.nimlib.mixpush.vivo.VivoPushReceiver"> <intent-filter> <!-- 接收 push 消息 --> <action android:name="com.vivo.pushclient.action.RECEIVE" /> </intent-filter> </receiver> <!--Vivo Push开放平台中应用的appid 和api key--> <meta-data android:name="com.vivo.push.api_key" android:value="${vivoappkey}" /> <meta-data android:name="com.vivo.push.app_id" android:value="${vivoappid}" /> <!--oppo推送--> <service android:name="com.netease.nimlib.mixpush.oppo.OppoPushService" android:permission="com.coloros.mcs.permission.SEND_MCS_MESSAGE"> <intent-filter> <action android:name="com.coloros.mcs.action.RECEIVE_MCS_MESSAGE" /> </intent-filter> </service> <service android:name="com.netease.nimlib.mixpush.oppo.OppoAppPushService" android:permission="com.heytap.mcs.permission.SEND_MCS_MESSAGE"> <intent-filter> <action android:name="com.heytap.mcs.action.RECEIVE_MCS_MESSAGE" /> </intent-filter> </service> <!-- 魅族推送 --> <receiver android:name="com.netease.nimlib.mixpush.mz.MZPushReceiver"> <intent-filter android:priority="0x7fffffff"> <!-- 接收push消息 --> <action android:name="com.meizu.flyme.push.intent.MESSAGE" /> <!-- 接收register消息 --> <action android:name="com.meizu.flyme.push.intent.REGISTER.FEEDBACK" /> <!-- 接收unregister消息--> <action android:name="com.meizu.flyme.push.intent.UNREGISTER.FEEDBACK" /> <!-- 兼容低版本Flyme3推送服务配置 --> <action android:name="com.meizu.c2dm.intent.REGISTRATION" /> <action android:name="com.meizu.c2dm.intent.RECEIVE" /> <category android:name="${applicationId}" /> </intent-filter> </receiver> <provider android:name="com.imagepicker.FileProvider" android:authorities="${applicationId}.provider" android:exported="false" android:grantUriPermissions="true"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/provider_paths" /> </provider> <activity android:name=".wxapi.WXEntryActivity" android:label="@string/app_name" android:exported="true" /> <!-- 蒲公英 --> <meta-data android:name="PGYER_API_KEY" android:value="${pgyerApiKey}" /> <meta-data android:name="PGYER_FRONTJS_KEY" android:value="${pgyerFrontKey}" /> <!--添加新版本检测--> <meta-data android:name="PGYER_FEATURE_CHECK_UNPDATE" android:value="true" /> </application> </manifest>
最新发布
09-23
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值