Closed zhangfuchao closed 1 year ago
你什么信息也没提供,让人猜什么?
你什么信息也没提供,让人猜什么?
不好意思,上面更新了两张图,代码都是一样的。
npx react-native info
命令,并将其输出结果粘贴到这里。请描述完整的环境/版本信息(不然你让人猜什么呢?)
- 请在命令行的项目目录中运行
npx react-native info
命令,并将其输出结果粘贴到这里。- package.json 的内容粘贴到这里。
- app/build.gradle 中可能有关的配置描述一下
- 打包的流程描述一下
已完成信息提交,麻烦给看下吧。配置几乎和其他电脑一样,除了这台都是110M
没看到 app/build.gradle 但我假定你是要使用hermes引擎吧,可能有些旧版本rn打包时候不能正确排除未使用的引擎 在 app/build.gradle 里加入以下强行排除jsc
+ packagingOptions {
+ // Make sure libjsc.so does not packed in APK
+ exclude "**/libjsc.so"
+ }
没看到 app/build.gradle 但我假定你是要使用hermes引擎吧,可能有些旧版本rn打包时候不能正确排除未使用的引擎 在 app/build.gradle 里加入以下强行排除jsc
+ packagingOptions { + // Make sure libjsc.so does not packed in APK + exclude "**/libjsc.so" + }
十分感谢,加了以后可以了
请按以下格式提供问题的相关信息。
问题的具体描述
同一套代码在两个电脑上打Android包,一个110M,一个145M,拆包看到145M的是jsc引擎,请问是因为什么环境导致的? 所有人的电脑上都是110M,只有新配置的打包机上的环境出来的是145M
第一张图是正常的110M的包,第二张图的145M包,每个abi里面都多了一个libjsc.so
REACT NATIVE info 截图
### Package
}
### build.gradle
def safeExtGet(prop, fallback) { rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback }
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { def taskRequests = getGradle().getStartParameter().getTaskRequests().toString().toLowerCase() def isPlay = !taskRequests.contains("foss")
} allprojects {
}
subprojects { subproject -> afterEvaluate { if ((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) { android { compileSdkVersion 30 buildToolsVersion "29.0.3" defaultConfig { targetSdkVersion 30 } variantFilter { variant -> def names = variant.flavors*.name if (names.contains("reactNative59")) { setIgnore(true) } } } } } }
### 打包流程
cd android && ./gradlew assembleRelease