首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >not本地Android CodePush安装程序不下载更新

not本地Android CodePush安装程序不下载更新
EN

Stack Overflow用户
提问于 2018-11-23 17:35:28
回答 1查看 2.7K关注 0票数 3

我在将CodePush设置到我的应用程序时遇到了困难。在我的仪表板上,它没有显示任何应用程序已经下载或安装了更新。

注意: iOS代码库适用于这个移动应用程序,而不是安卓。

目前,我的codePush选项设置如下:

代码语言:javascript
复制
let codePushOptions = { 
   checkFrequency: codePush.CheckFrequency.ON_APP_RESUME,
   installMode: codePush.InstallMode.ON_NEXT_RESUME
};

我做过的事:

  1. 在您的android/settings.gradle文件中,添加以下内容: 包括':app',‘:react本机-代码-推’项目(‘:app本机-代码-推送’).projectDir=新文件(rootProject.projectDir,rootProject.projectDir
  2. android/app/build.gradle文件中,将:react-native-code-push项目添加为编译时依赖项: ..。依赖{ ..。编译项目(‘:react本机-代码-推送’)}
  3. android/app/build.gradle文件中,将codepush.gradle文件添加为react.gradle下面的附加构建任务定义: ..。"../../node_modules/react-native/react.gradle“应用:"../../node_modules/react-native-code-push/android/codepush.gradle”.
  4. 如果您正在集成代码推入React本机应用程序,请执行以下步骤:

通过以下更改更新MainApplication.java文件以使用CodePush:

代码语言:javascript
复制
...
// 1. Import the plugin class.
import com.microsoft.codepush.react.CodePush;

public class MainApplication extends Application implements ReactApplication {

    private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
        ...
        // 2. Override the getJSBundleFile method in order to let
        // the CodePush runtime determine where to get the JS
        // bundle location from on each app start
        @Override
        protected String getJSBundleFile() {
            return CodePush.getJSBundleFile();
        }

        @Override
        protected List<ReactPackage> getPackages() {
            // 3. Instantiate an instance of the CodePush runtime and add it to the list of
            // existing packages, specifying the right deployment key. If you don't already
            // have it, you can run "code-push deployment ls <appName> -k" to retrieve your key.
            return Arrays.<ReactPackage>asList(
                new MainReactPackage(),
                new CodePush("deployment-key-here", MainApplication.this, BuildConfig.DEBUG)
            );
        }
    };
}

这是我的MainApplication.java文件的图片

我知道还有设置指令的这部分,我不知道是否需要这样做。我试图实现它,但是我得到了一个错误,因为这段代码与我的文件中的示例文档完全不一样。

我也不太清楚这是什么

代码语言:javascript
复制
public class MyReactNativeHost extends ReactNativeHost implements ReactInstanceHolder {
  // ... usual overrides
}

编辑2- index.js文件

代码语言:javascript
复制
import { AppRegistry } from 'react-native';
import codePush from "react-native-code-push";

import App from './app/config/app';

let codePushOptions = { 
    checkFrequency: codePush.CheckFrequency.ON_APP_RESUME,
    installMode: codePush.InstallMode.ON_NEXT_RESUME
};

AppRegistry.registerComponent('AppName', () => codePush(codePushOptions)(App));
EN

回答 1

Stack Overflow用户

发布于 2022-01-24 03:34:43

我在我的android/app/build.gradle中添加了以下内容,这是一个解决办法。我猜这可能是android gradle插件的问题。在AGP 4.1+中似乎有一堆未记录下来的破坏变化,影响了本机的反应。

在android { defaultConfig {我添加了

resValue 'string', "CODE_PUSH_APK_BUILD_TIME", String.format("\"%d\"", System.currentTimeMillis())

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53450920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档