帖子
帖子
用户
博客
课程
12下一页
返回列表 发新帖
显示全部楼层
6
帖子
0
勋章
24
Y币

[superwebview] 安卓引入之后启动崩溃,请帮忙处理

[复制链接]
发表于 2019-10-15 17:12:12
引入之后,按照文档初始化的时候APICloud.initialize,崩溃了。
崩溃日志如下,请帮忙及时处理
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.uzmap.pkg.uzcore.uzmodule.AppInfo.getFeatureValue(java.lang.String, java.lang.String)' on a null object reference
        at com.talkingdata.apicloud.TalkingDataDelegate.onApplicationCreate(TalkingDataDelegate.java:23)
        at com.uzmap.pkg.uzcore.v.a(Unknown Source:39)
        at com.uzmap.pkg.uzcore.v.a(Unknown Source:24)
        at com.uzmap.pkg.openapi.APICloud.<init>(Unknown Source:37)
        at com.uzmap.pkg.openapi.APICloud.initialize(Unknown Source:6)
        at com.ggzj_rn.MainApplication.onCreate(MainApplication.java:66)
        at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1119)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5879)

6
帖子
0
勋章
24
Y币
1. 注明bug平台:Android
2. 提供能反应bug的代码片段。
   @Override
    public void onCreate() {
        super.onCreate();
        APICloud.setDebug(true);
        APICloud.initialize(this);
        SoLoader.init(this, /* native exopackage */ false);
    }
3. 详细说明bug情况,操作步骤, 测试环境等。
引入之后启动就崩溃,完全按照文档来操作的。其中androidx和v4冲突,所以干掉了v4,转换成了androidx。断点发生是由于com.uzmap.pkg.uzcore.b.d未正常生成导致
private com.uzmap.pkg.uzcore.b.d A() {
        com.uzmap.pkg.uzcore.b.d var1 = null;
        boolean var2 = com.uzmap.pkg.uzapp.b.m();
        var1 = com.uzmap.pkg.uzcore.b.e.a(var2);
        this.k = var1;
        this.b(var1 != null ? var1.m : false);
        if (com.uzmap.pkg.uzapp.b.n()) {
            var2 = false;
            com.uzmap.pkg.uzcore.b.d var5 = com.uzmap.pkg.uzcore.b.e.a(var1.a, var2);
            if (var5 != null) {
                String var6 = var1.a;
                var5.a = var6;
            } else {
                var5 = var1;
                var1.c = "data:" + com.uzmap.pkg.uzcore.external.e.a(var1.a, true);
            }

            this.j = var5;
            return var5;
        } else {
            if (var1 != null && com.uzmap.pkg.uzcore.g.j.a()) {
                String var3 = var1.a;
                com.uzmap.pkg.uzcore.b.d var4 = com.uzmap.pkg.uzcore.b.e.b(var2);
                if (var4 != null) {
                    var4.p = var1.p = var2;
                    var1 = var4;
                    var4.a = var3;
                }
            }

            this.j = var1;
            return var1;
        }
    }

4. 若有UI界面异常的bug,请提供截图。
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.uzmap.pkg.uzcore.uzmodule.AppInfo.getFeatureValue(java.lang.String, java.lang.String)' on a null object reference
        at com.talkingdata.apicloud.TalkingDataDelegate.onApplicationCreate(TalkingDataDelegate.java:23)
        at com.uzmap.pkg.uzcore.v.a(Unknown Source:39)
        at com.uzmap.pkg.uzcore.v.a(Unknown Source:24)
        at com.uzmap.pkg.openapi.APICloud.<init>(Unknown Source:37)
        at com.uzmap.pkg.openapi.APICloud.initialize(Unknown Source:6)
        at com.ggzj_rn.MainApplication.onCreate(MainApplication.java:66)
        at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1119)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5879)
9
帖子
0
勋章
5634
Y币
这是哪个模块APICloud.initialize
6
帖子
0
勋章
24
Y币
@马浩川
自定义application启动时调用APICloud.initialize,用的时superwebview的jar
调用处代码:
  1. @Override
  2.     public void onCreate() {
  3.         super.onCreate();
  4.         APICloud.setDebug(true);
  5.         APICloud.initialize(this);
  6.         SoLoader.init(this, /* native exopackage */ false);
  7.     }
复制代码
6
帖子
0
勋章
24
Y币
马浩川 发表于 2019-10-15 17:25
这是哪个模块APICloud.initialize

@马浩川
自定义application启动时调用APICloud.initialize,用的时superwebview的jar
调用处代码:
@Override
    public void onCreate() {
        super.onCreate();
        APICloud.setDebug(true);
        APICloud.initialize(this);
        SoLoader.init(this, /* native exopackage */ false);
    }
25
帖子
0
勋章
1277
Y币
官方pdf文档太老了,不太适合,你直接去项目云编译 生成SuperWebView SDK

如果要自定义Application,直接继承UZApplication即可
6
帖子
0
勋章
24
Y币
snice 发表于 2019-10-15 20:21
官方pdf文档太老了,不太适合,你直接去项目云编译 生成SuperWebView SDK

如果要自定义Application,直接 ...

我application的代码如下,还是启动崩溃。报错日志还是和上面描述的一样

  1. public class MainApplication extends UZApplication implements ReactApplication {

  2.     private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
  3.         @Override
  4.         public boolean getUseDeveloperSupport() {
  5.             return BuildConfig.DEBUG;
  6.         }

  7.         @Override
  8.         protected List<ReactPackage> getPackages() {
  9.             return Arrays.<ReactPackage>asList(
  10.                     new MainReactPackage(),
  11.                     new ImagePickerPackage(),
  12.                     new WeChatPackage(),
  13.                     new RNDeviceInfo(),
  14.                     new LinearGradientPackage(),
  15.                     new SvgPackage(),
  16.                     new RNSensorsAnalyticsPackage(),
  17.                     new ReactVideoPackage(),
  18.                     new AsyncStoragePackage(),
  19.                     new RNCWebViewPackage(),
  20.                     new RNGestureHandlerPackage(),
  21.                     new AnExampleReactPackage()
  22.             );
  23.         }

  24.         @Override
  25.         protected String getJSMainModuleName() {
  26.             return "index";
  27.         }
  28.     };

  29.     @Override
  30.     public ReactNativeHost getReactNativeHost() {
  31.         return mReactNativeHost;
  32.     }

  33.     @Override
  34.     public void onCreate() {
  35.         super.onCreate();
  36.         APICloud.setDebug(true);
  37.         APICloud.initialize(this);
  38.         SoLoader.init(this, /* native exopackage */ false);
  39.     }
  40. }
复制代码
25
帖子
0
勋章
1277
Y币
删除
APICloud.setDebug(true);
APICloud.initialize(this);
6
帖子
0
勋章
24
Y币
snice 发表于 2019-10-16 09:10
删除
APICloud.setDebug(true);
APICloud.initialize(this);

APICloud.initialize(this);这一句导致的崩溃,就是说我继承UZApplication即可,不需要调用APICloud.initialize(this);对吗?
25
帖子
0
勋章
1277
Y币
superjunjun 发表于 2019-10-16 09:56
APICloud.initialize(this);这一句导致的崩溃,就是说我继承UZApplication即可,不需要调用APICloud.init ...

是的
12下一页
您需要登录后才可以回帖 登录

本版积分规则