本文就以荔枝的SDK接入时,需要在application中实现registerApp(application: android.app.Application, appId: kotlin.String?, adChannel: kotlin.String?)方法为例。
A.在插件工程中的操作:
• 在java包下新建MainApplication类
• 在MainApplication中调用读取清单文件中application中的信息,在从此信息中读取meta-data信息
package com.rsdk.framework;
import android.app.Application;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import com.yibasan.lizhifm.lzgamelib.LzGameManager;
@SuppressWarnings(“unused”)
public class MainApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
ApplicationInfo appInfo = null;
try {
//通过包管理器下的getApplicationInfo方法尝试获取appInfo
appInfo = this.getPackageManager().getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
通过getString方法依据键获取值*****
String appID = appInfo.metaData.getString(“lizhigame_AppID”);
LzGameManager.Companion.getInstance().registerApp(this,appID, appInfo.metaData.getString(“lizhigame_adChannel”));
}
}
注意:在meta-data中,依据键获取值时候,在这个案例中,会引发长数字的问题:
使用get(keyName).toString得到"5.0819312E18"。(怀疑自动抛弃精度问题)
使用getInt得到0,
使用getString得到null。
所以,我们有两种办法:
法一:在清单文件的meta-data中把值传入成""+“空格”+长数字。
• 在Sample moudle中的AndroidManifest清单文件中加入application的注册(值为application的位置)
• 在标签内写入标签,并在标签内,以键值对的格式写入参数数据
法二:在清单文件中的meta-data中把值传入成 lizhi_+长数字。
这种方法在java类中获取时候,得用字符串裁剪去除多余的前缀。
注:replace方法只是伪替代,并没有对原有字符串进行真正修改。
B.在Start中的操作:
• 进入SDK管理

修改脚本可视化配置:

修改前端参数配置,点击添加客户端参数,输入需要的数据,适当加上备注:
• 进入子平台参数配置,把新建的参数按格式配上:
• 之后正常打包操作即可。可通过反编译查询是否将参数打入包中。下面是反编译和再出包工具的使用方法:
反编译:

  1. 打开终端,进入 apktool 工具目录,cd /Users/Project/devtools/apktool-2.4.0
  2. 输入前半段命令 java -jar apktool_2.4.0.jar d ,最后一个 d 后面有一个空格,命令输入完后不要按回车键
  3. 在 访达 中选中需要反编译的 APK,将其复制或直接拖入终端,最后完整命令如:java -jar apktool_2.4.0.jar d /Users/rayjoy/Downloads/blhx_2.0.0.10_45_20190516_115405_27d58.apk ,参数 d 后面跟的是 apk 的路径。
  4. 最后按回车对 apk 包进行反编译。
  5. 反编译完成,终端执行 open /Users/Project/devtools/apktool-2.4.0命令,打开目录。
  6. 反编译后的 apk 以目录形式存在,目录名为 apk 的名称。
    重新编译:
  7. 输入前半段命令 java -jar apktool_2.4.0.jar b ,最后一个 b 后面有一个空格,命令输入完后不要按回车键
  8. 在 访达 中选中需要重新编译的 APK,将其复制或直接拖入终端,最后完整命令如:java -jar apktool_2.4.0.jar d /Users/rayjoy/Downloads/blhx_2.0.0.10_45_20190516_115405_27d58.apk ,参数 b 后面跟的是 apk 的路径。
  9. 编译成功之后,在原来的文件夹下能看到有一个dist的文件夹,里面的apk就是母包资源

当渠道需要在Application中调用有参方法相关推荐

  1. 我的WCF之旅(6):在Winform Application中调用Duplex Service出现TimeoutException的原因和解决方案...

    几个星期之前写了一篇关于如何通过WCF进行 双向通信的文章([原创]我的WCF之旅(3):在WCF中实现双向通信(Bi-directional Communication) ),在文章中我提供了一个如 ...

  2. JavaScript文件中调用AngularJS内部方法或改变$scope变量

    需要在其他JavaScript文件中调用AngularJS内部方法或改变$scope变量,同时还要保持双向数据绑定: 首先获取AngularJS application: 方法一:通过controll ...

  3. 继承实现的原理、子类中调用父类的方法、封装

    一.继承实现的原来 1.继承顺序 Python的类可以继承多个类.继承多个类的时候,其属性的寻找的方法有两种,分别是深度优先和广度优先. 如下的结构,新式类和经典类的属性查找顺序都一致.顺序为D--- ...

  4. 在Biztalk应用中调用程序集的方法

    本文通过一个简单实例,介绍Biztalk应用中调用程序集的方法. 虽然Biztalk Server提供了众多的内置功能,然而在一些情况下可能还需要调用程序集中的函数.因为在.Net程序集中,可以非常方 ...

  5. Day19:继承实现的原理、子类中调用父类的方法、封装

    一.继承实现的原来 1.继承顺序 Python的类可以继承多个类.继承多个类的时候,其属性的寻找的方法有两种,分别是深度优先和广度优先. 如下的结构,新式类和经典类的属性查找顺序都一致.顺序为D--- ...

  6. 【Unity3D】Android Studio 工程中使用 Java 代码调用 Unity 的 C# 脚本 ( Java 中调用 UnityPlayer#UnitySendMessage 方法 )

    文章目录 一. Java 调用 C# 依赖库准备 1.依赖库位置 2.unityLibrary 依赖库位置 二. Java 调用 C# 的 UnityPlayer#UnitySendMessage 方 ...

  7. qt 子类调用父类的函数_子类中调用父类的方法

    父类名 . __init__(self, ...) 可以将父类中的init中的属性重复调用,减少代码的重复 class Vehicle: def __init__(self, name, speed, ...

  8. python库的调用三种方法_python中调用库的方法

    python中调用库的方法 发布时间:2020-09-02 11:41:21 来源:亿速云 阅读:93 作者:小新 小编给大家分享一下python中调用库的方法,希望大家阅读完这篇文章后大所收获,下面 ...

  9. 在Linux环境下使用gfortran编译器生成fortran语言的.so共享对象文件 并使用JNA调用 带参方法

    在Linux环境下使用gfortran编译器生成fortran语言的.so共享对象文件 并使用JNA调用 带参方法 1 致谢和参考文章 1.1 致谢 1.2 参考文章 2 环境介绍 3 整体思路 4 ...

最新文章

  1. Tim Berners-Lee重新分散的新Web SOLID简介
  2. python基础笔记(非系统/自用/参考小甲鱼的零基础入门学习python)下
  3. linux 图形界面 x x11 gnome xorg kde 之间的关系
  4. java中日期计算时间差,用java计算日期/时间差
  5. java将数据封装为树结构_JAVA代码实现多级树结构封装对象
  6. 转: seajs手册与文档之 -- 模块标识
  7. 抽象方法,抽象类,接口
  8. inline行内元素
  9. 凸优化第四章凸优化问题 4.2 凸优化
  10. c++学习 | Windows 程序设计
  11. java 期刊杂志参考_各系列普刊期刊的推荐,大家可供参考
  12. psp记忆棒测试软件,psp记忆棒修复工具
  13. 浏览器与WEB服务器的网络协议
  14. html视频标签略缩图,JavaScript截取video标签视频缩略图 方法1
  15. Python制作的三个奇怪作品
  16. 功略三国志9加强版战略刘备篇
  17. 老夫决定把这九年的编程经验传授给你。
  18. maven 和jetty 绝配
  19. 电信运营商工程项目管理
  20. Linux下大容量存储,第 2 章 USB Mass Storage大容量存储的基本知识

热门文章

  1. Arduino小白学习记录:双色LED灯实验
  2. C++刷题的一些小tips
  3. ORACLE_CMD命令(最全的)
  4. 女生无法拒绝的表白拼图
  5. 一文读懂之java组合
  6. 完全开源!快速上手 AI 理论及应用实战来了
  7. python画趋势图_python 绘制走势图
  8. 7-3 学习打卡(12.19)
  9. qq登录 适用于 laravel
  10. 或许 心血来潮才有这样的好心情