use*_*316 45 javascript android react-native
我使用以下命令创建了项目.
react-native init Awesome_Project
Run Code Online (Sandbox Code Playgroud)
我使用以下命令启动了打包器.
react-native start
Run Code Online (Sandbox Code Playgroud)
我用USB驱动器连接了我的Android手机.
我打开了另一个命令提示符并运行以下adb命令以确保只连接了一个设备.
adb devices
Run Code Online (Sandbox Code Playgroud)
我使用以下命令启动了应用程序.
react-native run-android
Run Code Online (Sandbox Code Playgroud)
我遇到了以下错误.
open: Permission denied
open: Permission denied
Starting: Intent { com.awesome_project/.MainActivity }
Error type 3
Error: Activity class {com.awesome_project/ com.awesome_project.MainActivity} does not exist.
Run Code Online (Sandbox Code Playgroud)
提前致谢.
par*_*ker 72
确保 android>app>build.gradle
defaultConfig {
applicationId "WHATEVER_THIS_IS"
}
Run Code Online (Sandbox Code Playgroud)
需要匹配第一android>app>src>main>java>com>app_name>MainActivity.java
行:
package WHATEVER_THIS_IS;
Run Code Online (Sandbox Code Playgroud)
需要匹配第一android>app>src>main>java>com>app_name>MainApplication.java
行:
package WHATEVER_THIS_IS;
Run Code Online (Sandbox Code Playgroud)
需要匹配第一android>app>src>main>AndroidManifest.xml
行:
package="WHATEVER_THIS_IS">
Run Code Online (Sandbox Code Playgroud)
小智 35
我从我的设备上卸载了该应用,但根本无法在我的设置>应用中看到它.通过执行以下操作完全卸载应用程序后,错误终于消失了:
adb uninstall com.appname
Run Code Online (Sandbox Code Playgroud)
小智 12
如果您有appIdSuffix,则应将其添加到react native命令的命令中.
eg. react-native run-android --appIdSuffix beta
Run Code Online (Sandbox Code Playgroud)
应该添加package.json的快捷方式并通过npm运行.
...
"scripts": {
...
"android-beta": "react-native run-android --appIdSuffix beta",
},
Run Code Online (Sandbox Code Playgroud)
然后运行:
npm run android-beta
Run Code Online (Sandbox Code Playgroud)
小智 9
尝试运行adb命令在您的项目中安装android dir的apk(应该提供更多输出): adb install app/build/outputs/apk/app-debug.apk
在我的情况下,存储空间不足
facebook/react-native issue #2885
就我而言,该应用程序不会自动打开,没有其他问题。
只需在您的 android 设备中搜索应用程序图标(查看所有应用程序的位置)并点击它以手动打开应用程序。打包程序将开始像往常一样加载应用程序。
所以这似乎是这里的一个错误。不幸的是,我真的不知道是什么导致了它。
我已将我的应用程序ID更改com.appName
为com.companyName.appName
,并且我已将此更新更新为android>app>build.gradle
:
defaultConfig {
applicationId "com.companyName.appName" // was previously "com.appName"
}
Run Code Online (Sandbox Code Playgroud)
我还将文件结构从更改android>app>src>main>java>com>appName
为android>app>src>main>java>com>companyName>appName
.这是我收到错误的时候.
为了解决这个错误,我只是进行了一个项目范围的搜索(CMD-SHIFT-F
在Atom中)com.appName
,并将它们全部替换为com.companyName.appName
.问题解决了!
我在手机上安装了成功的版本后遇到了这个问题,但长话短说我不得不卸载它才能进行全新安装.卸载应用程序并尝试执行操作后react-native run-android
,我收到此错误.
似乎在某些设备上"卸载"应用程序只会禁用它,以防您希望在特定时间范围内撤消卸载.为了解决这个问题,我进入了设置下的应用程序并选择了我的应用程序并完全卸载了它.之后我又能够成功构建我的应用程序.希望这有助于某人.
在使用react-native-config时,我在使用applicationIdSuffix
with时遇到了这个问题productFlavors
。
添加--appIdSuffix=[YOUR_FLAVOR]
到我的react-native run-android
命令中就完成了这项工作。例如
...
flavorDimensions "env"
productFlavors {
dev {
resValue "string", "app_name", "[DEV] My App"
applicationIdSuffix ".dev"
}
staging {
resValue "string", "app_name", "[STG] My App"
applicationIdSuffix ".staging"
}
prod {
resValue "string", "app_name", "My App"
}
}
...
Run Code Online (Sandbox Code Playgroud)
...
"scripts": {
"android": "react-native run-android --variant=devDebug --appIdSuffix=dev",
"android:staging": "react-native run-android --variant=stagingDebug --appIdSuffix=staging",
"android:prod": "react-native run-android --variant=prodDebug",
"android:staging:release": "react-native run-android --variant=stagingRelease --appIdSuffix=staging",
"android:prod:release": "react-native run-android --variant=prodRelease",
},
...
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
24871 次 |
最近记录: |