使用react-native init MyApp
创建反应原生应用时,Android和iOS包名称会自动设置为com.myapp
。
在开发后期更改Android软件包名称(特别是如果您需要更长的内容,如com.organisation.propject.app
)非常繁琐,我想知道在使用{设置项目时是否有办法设置软件包名称{1}}?
答案 0 :(得分:16)
注意:它仅适用于RN 0.37,可能只有一个或两个版本,在0.40+中删除了此功能。
您需要指定--package
选项:
$ react-native init MyApp --package=com.organization.project.app
答案 1 :(得分:2)
以下对我有用。用您自己的应用名称代替 "Foo App"
,用您自己的软件包名称代替 org.newpackage.app
。
NEW_APP_NAME="Foo App"
NEW_PACKAGE_NAME=org.newpackage.app
OLD_PACKAGE_NAME=org.reactjs.native.example
npx react-native init rndemo && \
cd rndemo && \
npx react-native-rename "${NEW_APP_NAME}" -b ${NEW_PACKAGE_NAME} && \
rm -rf ios/Pods && \
pod install --project-directory=./iOS && \
grep -rl ${OLD_PACKAGE_NAME} * | \
xargs sed -i '.bak' "s/${OLD_PACKAGE_NAME}/${NEW_PACKAGE_NAME}/g"
我创建了一个 gist 来执行此操作,以交互方式提示输入应用名称和包名称。要点稍微复杂一点,因为(在上面的示例中)它最初会创建应用程序 fooapp
而不是 rndemo
。
说明:
rndemo
;我们需要知道它将被称为什么,以便我们可以更改它。org.reactjs.native.example
并将其替换为您的新包名称。目前这只会找到 ios/FooApp.xcodeproj/project.pbxproj
。旧的 project.pbxproj
文件将以“.bak”扩展名保存。使用 find . -name project.pbxproj -exec .....
可能会更好地完成此步骤,但这足以满足我的需求。答案 2 :(得分:0)
对于最近的 react-native 版本,如果您使用的是 react-native cli,请使用以下命令更改用户:
npx react-native init testApp --package=com.organizationname.app
对于博览会,您可以使用:
expo init testApp --android-package com.organizationname.app --ios-bundle-identifier com.organizationname.app