关于android-sdk:UnixLinux环境下-安装android-sdk步骤

android sdk  下载,装置是通过官网提供的command line tools来装置的。以下命令一一执行一次就能够正确装置了。 感叹一下,国内的网络环境不太敌对啊。。。 装置命令mkdir -p $HOME/install/android-sdkwget https://dl.google.com/android/repository/commandlinetools-linux-9123335_latest.zipunzip commandlinetools-linux-9123335_latest.zip -d $HOME/install/android-sdkexport ANDROID_HOME=$HOME/install/android-sdkexport PATH="$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/build-tools/33.0.1/:$ANDROID_HOME/platform-tools:$ANDROID_HOME/cmdline-tools/bin:$PATH"sdkmanager --update --sdk_root=$ANDROID_HOMEsdkmanager --list --sdk_root=$ANDROID_HOMEsdkmanager --sdk_root=$ANDROID_HOME "build-tools;33.0.1" "platform-tools" "platforms;android-33" "tools"sdkmanager --licenses --sdk_root=$ANDROID_HOME命令阐明:* sdkmanager --list --sdk_root=$ANDROID_HOME 命令列出有哪些可用版本* sdkmanager --licenses --sdk_root=$ANDROID_HOME  承受许可 参考文档google android downloadsgoogle android sdkmanager docInstall Android SDK CLI Ubuntu 20.04 WSL2 (Work in Progress)

January 31, 2023 · 1 min · jiezi

关于android-sdk:ShareSDK-Android端渠道下载统计配置说明

MobLink渠道下载统计在我的项目的AndroidManifest外面配置下面的meta-data,mob后盾就能够统计这个app下载的次数 <meta-data android:name="MoblinkChannel" android:value="5f64644359948e784afa2c52"></meta-data>name:MoblinkChannel。是固定的key,不能更改否则sdk中无奈读取渠道数据。 value:用户随便配置,须要先到咱们的管理者后盾进行渠道配置,而后和管理者后盾配置的渠道标识一样就能够了。在MobLink JS中配置渠道在页面的js中通过指定字段(iOS:moblink_source_ios 安卓:moblink_source_android)配置下载渠道,示例代码如下: <script type="text/javascript" src="//1p.t4m.cn/applink.js"></script>/** MobLink 反对数组=>MobLink([...]) 和对象=>MobLink({...}) 两种初始化模式* 页面上有多个元素须要跳转时应用数组形式,仅单个元素须要跳转时能够应用对象的形式进行初始化* el: 示意网页上Element的id值,该字段为空或者不写,则示意MobLink **默认浮层** 上的关上按钮(留神:该字段反对selector形式: 1.'.class' 2.'#id1' 3.['#id1','#id2'])* path: 对应App里须要复原页面的门路* params: 网页须要带给客户端的参数*/// 页面上仅单个元素须要跳转时能够应用对象形式进行初始化MobLink({ el: '', path: 'demo/a', moblink_source_ios: '5e006d8affa42d7657c3f8f8', //iOS下载渠道配置字段 moblink_source_android: '5e006d9aaedf41217607edd3', //安卓下载渠道配置字段 params: { key1: 'value1', key2: 'value2', }})当在对应渠道进行下载时,咱们后盾就能够看到对应的数据不能笼罩装置,必须卸载之前的apk包 官网文档核心

September 13, 2022 · 1 min · jiezi

关于android-sdk:ShareSDK-Android端微信回调冲突解决方案

以利用宝为例,因为利用宝渠道用到了微信受权,而且回调Activity是WXEntryActivity,跟ShareSDK的微信回调类抵触。解决方案如下:1、把原来ShareSDK的微信回调类WXEntryActivity批改成SSDKWXEntryActivity,而后在AndroidManifest中配置2、在利用宝的微信受权回调类WXEntryActivity中,增加如下代码3、SSDKWXEntryActivity类与WXEntryActivity类在同一个包中,如 cn.sharesdk.demo.wxapi /** 利用宝微信受权回调activity,须要继承 YSDKWXEntryActivity*/ public class WXEntryActivity extends YSDKWXEntryActivity { public void onCreate(Bundle arg0) { super.onCreate(arg0); } public void onResp(BaseResp resp) { if (resp instanceof SendMessageToWX.Resp) { //把原来ShareSDK的微信回调类WXEntryActivity改成SSDKWXEntryActivity //而后在AndroidManifest中,注册SSDKWXEntryActivity Intent intent = new Intent(this, SSDKWXEntryActivity.class); intent.putExtras(getIntent()); startActivity(intent); finish(); } else { super.onResp(resp); } } }AndroidManifest中的配置信息 <!-- 利用宝的微信受权回调类 --> <activity android:name=".wxapi.WXEntryActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:configChanges="keyboardHidden|orientation|screenSize" android:exported="true" /> <!-- ShareSDK的微信分享回调类 --> <activity android:name=".wxapi.SSDKWXEntryActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:configChanges="keyboardHidden|orientation|screenSize" android:exported="true" />这样就解决ShareSDK与利用宝微信回调类的抵触问题

September 8, 2022 · 1 min · jiezi

关于android-sdk:MobLink后台基本配置

Android端配置信息 App Links: 是主动生成,其余内容能够手动配置,须要留神的是ShareSDK闭环分享与MobLink的APPlinks配置通用的,请不要随便批改另一处配置,可能导致性能不可用;指纹证书(SHA256):填写的是 apk包签名文件(keystore)的SHA256;包名:填写是app的包名;URI Scheme:填写内容的格局是这样的“://”,建议您这边设置成这样”ssdk+mobappkey:// cn.sharesdk.loop”,eg: ssdk2d7dc779618c8://cn.sharesdk.loop,这样能够和闭环分享保持一致;下载/疏导地址:当您手机上没有装置跳转的app,点击”关上app”时就会跳转到这边设置的网址,填写的是app的下载疏导网页.利用宝下载链接: 当须要在微信内点击链接进行场景还原时,这个链接是必须配置的,是对应APP在利用宝中的下载地址(留神点:手机上须要下载利用宝,如果没有装置利用宝也会跳转失败)无效工夫:是个工夫是点开链接后开始计时的,超过这个时候后,点击"关上app"无奈胜利跳转,倡议设置为60分钟,测试阶段可自行批改以查看成果,设置为0时不进行场景复原。iOS端配置信息Universal Link:强烈建议应用Mob主动生成的Universal Link。iOS 9.0及以上应用Universal Link能优化场景复原过程,提供更好的用户体验。抉择并应用咱们帮您生成的Universal Link并正确配置到您的我的项目中,将为您节俭大量工作和工夫。我的项目里配置如下: Team ID: 开发团队的ID,可在苹果开发者后盾查看:Bundle ID: 我的项目惟一标识。请务必与我的项目中保持一致。可见于我的项目Info.plist文件的Bundle identifier URL Scheme: 在后盾填写格局如:XXX:// (后面任意,前面必须要带://),请务必与我的项目中的配置保持一致,否则可能会导致无奈跳转利用,我的项目里配置不带://,如下图: 下载/疏导地址:利用在App Store的下载地址,或者是其余第三方托管地址,没有装置app会跳转到这里来下载app App Store下载地址(选填):专业版无效,经典版有效,在这里配置了的话,会略过咱们的两头下载疏导界面,间接跳App Store下载app 利用宝下载链接:安卓须要,iOS不须要填写 无效工夫:这个工夫是点开链接后开始计时的,超过这个时候后,点击"关上app"无奈胜利场景复原,倡议设置为60分钟,测试阶段可自行批改以查看成果,设置为0时不进行场景复原。 路由配置(必须)渠道标识:填写还原门路,如"/demo/a","/demo/b“等,这个填写的值须要与前端JS里传的path的值统一; iOS页面名称:填写跳转到app须要复原的控制器的名称,如果不填写无奈走客户端的场景还原的回调获取参数等 Mob开发者后盾高级配置(非必须)多渠道下载地址当你的app包须要散发在多个不同的平台或者渠道托管的时候,如果你心愿不同的流动页面疏导用户去不同的渠道下载,那么此时能够应用MobLink提供的多渠道下载性能. (1).开发者后盾配置下载渠道关上开发者后盾,在MobLink的根底配置页面下方有一个渠道配置模块,点击该模块右上方的 增加多渠道下载地址按钮即可增加下载地址,如下图:精确填写好信息之后点击 确定 即可。 (2).获取渠道标识通过下面的配置之后即会在 多下载地址 模块中生成一个下载地址记录,其中有一个MobLink主动为你生成的下载渠道标识,如下图: (3).在MobLink JS中配置渠道在页面的js中通过指定字段(iOS:moblink_source_ios 安卓:moblink_source_android)配置下载渠道,示例代码如下: <script type="text/javascript" src="//avp9.t4m.cn/applink.js"></script>/** MobLink 反对数组=>MobLink([...]) 和对象=>MobLink({...})* 页面上有多个元素须要跳转时应用数组形式,仅单个元素时能够应用对象的形式进行初始化* el: 示意网页上Element的id值,该字段为空或者不写则示意MobLink默认浮层上的关上按钮(留神:必须为元素id,以#结尾)* path: 对应App里的门路* params: 网页须要带给客户端的参数*/MobLink([ { el: "", path: "demo/a", moblink_source_ios: 'zeQZzu', //iOS下载渠道配置字段 moblink_source_android: '2yYnqm', //安卓下载渠道配置字段 params: { key1: "value1", key2: "value2", } },]); ...

September 6, 2022 · 1 min · jiezi

关于android-sdk:MobTech-ShareSDK-Android端微信分享小程序

前言:首先要集成ShareSDK,集成步骤请查看这里;1.微信开发者后盾的相干信息配置集成完之后做小程序的分享,首先要申请完小程序到微信开放平台绑定到本人的利用,否则无奈胜利分享, 绑定的地位如下图: 绑定完之后点击查看如下图所示能够看到原始ID,这个前面分享会用到; 分享小程序的页面门路能够间接复制 2.分享微信小程序ShareSDK分享小程序只是ShareSDK分享微信的一种类型,只有设置对类型和办法即可; 微信分享登录等,必须要保障微信开放平台-->管理中心-->挪动利用-->你的利用(查看进入)-->开发信息,中配置的我的项目的包名和利用签名,与您的app的包名和签名统一,否则无奈分享; 2.1OneKeyShare接口分享小程序阐明OneKeyShare的分享须要先确定分享类型,代码如下: OnekeyShare oks = new OnekeyShare(); oks.setTitle("题目测试"); oks.setText("lalalla http://open.qq.com"); oks.setImageUrl("http://f1.sharesdk.cn/imgs/2014/02/26/owWpLZo_638x960.jpg"); oks.setUrl("http://open.qq.com"); oks.setShareContentCustomizeCallback(new ShareContentCustomizeCallback() { @Override public void onShare(Platform platform, cn.sharesdk.framework.Platform.ShareParams paramsToShare) { if(platform.getName().equals("Wechat")){ paramsToShare.setShareType(Platform.SHARE_WXMINIPROGRAM);//分享小程序类型 paramsToShare.setWxUserName("gh_52568203455c");//配置小程序原始ID,后面有截图阐明 paramsToShare.setWxPath("pages/index/index");//分享小程序页面的具体门路,后面截图从微信小程序开发工具中能够间接复制 } }); oks.setCallback(new PlatformActionListener() { @Override public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) { Log.d("ShareSDK", "onComplete ----> 分享胜利"); } @Override public void onError(Platform platform, int i, Throwable throwable) { Log.d("", "onError ----> 失败" + throwable.getStackTrace()); } @Override public void onCancel(Platform platform, int i) { Log.d("ShareSDK", "onCancel ----> 分享勾销"); } }); oks.show(MobSDK.getContext());小程序须要在setShareContentCustomizeCallback办法中,判断固定小程序的分享类型"SHARE_WXMINIPROGRAM", 判断完类型咱们来说下小程序的字段阐明,setWxUserName,小程序的原始ID;setWxPath,这个办法中是传小程序分享后点击关上的小程序中的页面您的门路,这个能够到小程序开发工具中查看;其次是oks调用的setText、setImageUrl(图片能够用setImagePath分享本地图片等)、setUrl、setTitle、这四个办法也是必须要的,小程序分享,如果微信客户端不反对的话会默认分型链接的类型,所以这几个办法也是必须配置的;微信的AppId和AppSecret的配置这里就不多赘述,能够去官网的集成文档理解配置的地位;2.2独自分享接口分享微信小程序 ...

August 24, 2022 · 2 min · jiezi

关于android-sdk:MobTech-ShareSDK-Android端快速集成

开发工具:Android Studio集成形式:Gradle在线集成安卓版本反对:minSdkVersion 19集成前筹备注册账号1.应用MobSDK之前,须要先在MobTech官网注册开发者账号,并获取MobTech提供的AppKey和AppSecret,详情能够点击查看注册流程 2.须要申请第三方平台的key,详情能够点击查看注册流程 ShareSDK流程图 增加配置在我的项目Gradle文件中注册MobSDK buildscript { repositories { // 1.增加MobSDK Maven地址 maven { url "https://mvn.mob.com/android" } ... } dependencies { ... // 2.注册MobSDK classpath "com.mob.sdk:MobSDK:2018.0319.1724" }}在我的项目App Module的Gradle文件中增加插件和扩大其中的devInfo为来自社交平台的利用信息,残缺的各个平台参数请点击这里参考详情; 具体字段参数阐明等,点击这里查看详情 apply plugin: 'com.mob.sdk'MobSDK { appKey "您的appkey" appSecret "您的appsecrt" ShareSDK { devInfo { Wechat { appId "wx4868b35061f87885" appSecret "64020361b8ec4c99936c0e3999a9f249" userName "gh_afb25ac019c9" path "pages/index/index.html?id=1" withShareTicket true miniprogramType 2 } WechatMoments { appId "wx4868b35061f87885" appSecret "64020361b8ec4c99936c0e3999a9f249" } ....... } } }在gradle.properties中增加代码MobSDK.spEdition=FP 接口调用回传用户隐衷受权后果(submitPolicyGrantResult)为保障您的App在集成MobSDK之后可能满足工信部相干合规要求,您应确保App装置首次冷启动且获得用户浏览您《隐衷政策》受权之后,调用MobSDK.submitPolicyGrantResult回传隐衷协定受权后果。反之,如果用户不批准您App《隐衷政策》受权,则不能调用MobSDK.submitPolicyGrantResult回传隐衷协定受权后果。相干隐衷申明请参考合规指南 ...

August 23, 2022 · 1 min · jiezi

关于android-sdk:秒验丨Android端SDK-API使用说明

概述秒验提供预登录、登录、两种自定义UI等API接口供开发者调用。 预登录(preVerify)/** * com.mob.secverify.SecVerify.class * 检测以后用户的手机网络环境是否符合条件,获取用于一键登录应用的长期凭证, 默认有效期为1个小时 * @param callback 回调 */ public static void preVerify(PreVerifyCallback callback)示例代码: // 倡议提前调用预登录接口,能够放慢免密登录过程,进步用户的体验。SecVerify.preVerify(new PreVerifyCallback() { @Override public void onComplete(Void data) { // TODO解决胜利的后果 } @Override public void onFailure(VerifyException e) { // TODO解决失败的后果 // 获取错误码 int errCode = e.getCode(); //获取SDK返回的错误信息 String errMsg = e.getMessage(); // 更具体的网络错误信息能够通过t查看,注:t有可能为null,也可用于获取运营商返回的错误信息 Throwable t = e.getCause(); String errDetail = null; if (t != null) { errDetail = t.getMessage(); } }});登录(verify)/** * com.mob.secverify.SecVerify.class * 调用一键登录办法将立刻拉起受权页面 * @param callback 回调 */ public static void verify(VerifyCallback callback)示例代码: ...

August 18, 2022 · 3 min · jiezi

关于android-sdk:MobPush丨Android端SDK-API

推送监听接口 (addPushReceiver)形容:增加推送监听,可监听接管到的自定义音讯(透传音讯)、告诉音讯、告诉栏点击事件、别名和标签变更操作。 /** * com.mob.pushsdk.MobPush.class * MobPush推送监听接口 * @param receiver 监听 */public static void addPushReceiver(MobPushReceiver receiver)示例代码 MobPushReceiver mobPushReceiver = new MobPushReceiver() { @Override public void onCustomMessageReceive(Context context, MobPushCustomMessage message) { //接管到自定义音讯(透传音讯) message.getMessageId();//获取工作ID message.getContent();//获取推送内容 } @Override public void onNotifyMessageReceive(Context context, MobPushNotifyMessage message) { //接管到告诉音讯 message.getMobNotifyId();//获取音讯ID message.getMessageId();//获取工作ID message.getTitle();//获取推送题目 message.getContent();//获取推送内容 } @Override public void onNotifyMessageOpenedReceive(Context context, MobPushNotifyMessage message) { //告诉被点击事件 message.getMobNotifyId();//获取音讯ID message.getMessageId();//获取工作ID message.getTitle();//获取推送题目 message.getContent();//获取推送内容 } @Override public void onTagsCallback(Context context, String[] tags, int operation, int errorCode) { //标签操作回调 //tags: RegistrationId已增加的标签 //operation: 0获取标签 1设置标签 2删除标签 //errorCode: 0操作胜利 非0操作失败 } @Override public void onAliasCallback(Context context, String alias, int operation, int errorCode) { //别名操作回调 //alias: RegistrationId对应的别名 //operation: 0获取别名 1设置别名 2删除别名 //errorCode: 0操作胜利 非0操作失败 } };移除推送监听接口 (removePushReceiver)形容:移除告诉监听,与addPushReceiver()对应,增加推送监听后,在敞开界面时调用进行移除,移除之前增加过的推送监听。 ...

August 11, 2022 · 4 min · jiezi

关于android-sdk:Android-ADB操作命令

玩转根底ADB命名一:ADB是什么ADB全称:Android Debug Bridge :Android调试桥梁。adb 命令可用于执行各种设施操作(例如装置和调试利用),并提供对 Unix shell(可用来在设施上运行各种命令)的拜访权限Android的初衷是用adb这样的一个工具来帮助开发人员在开发android利用的过程中更快更好的调试apk,因而adb具备装置卸载apk、拷贝推送文件、查看设施硬件信息、查看应用程序占用资源、在设施执行shell命令等性能 二:ADB配置1.关上零碎属性--环境变量--配置零碎变量path门路2.找到sdk装置目录下platfrom-tools :E:AndroidSDKplatform-tools3.门路配置在path中 三:ADB命令1.连贯设施:adb devices 查看设施名(手机的序列号)2.连贯adb服务和敞开adb服务adb start-server 开启服务, adb kill-server 敞开服务3.查看adb版本adb version4.装置和卸载APK当手机处于开发者模式下:adb install **.apk/adb install ApplicationId(包名)adb uninstall 包名(ApplicationId)5.查看手机分辨率adb shell wm size6.查看屏幕密度adb shell wm density7.查看手机相干信息adb shell getprop ro.product.cpu.abi 查看手机的CPU架构(小米手机arm64-v8a)adb shell getprop ro.product.model 查看手机型号(Redmi 6 Pro)adb shell getprop ro.product.name 查看手机设施名称(sakura)adb shell getprop ro.product.manufacturer 查看手机外部名称(xiaomi)adb shell getprop ro.product.brand 查看手机品牌(xiaomi)8.查看电池状态adb shell dumpsys battery9.ADB下Wifi调试1.首先确保手机和电脑在同一个网段下或者说在同一个局域网下cmd下输出ping ip(此ip为手机连贯的wifi的ip)通了,阐明手机和电脑在同一个网段上面2.指定手机的端口能够接管到TCP/IP连贯确保手机开启usb调试,用usb线把手机和电脑连接起来,执行命令:adb tcpip 5555 执行胜利后能够拔掉usb线(端口号能够不是5555,官网默认应用这个)3.通过IP连贯手机执行命令:adb connect ip 连贯胜利后能够应用4.通过IP断开连接手机执行命令:adb disconnect ip 5.如果连贯失败且端口号,网络都没问题能够同杀死adb服务重连命令:adb kill-server 和adb start-server6.连贯胜利后能够查看连贯命令:adb devices10.查看所有包名命令:adb shell pm list packagesadb 还有许多命令,adb 给开发人员调试应用,还有很多启动四大组件等,传输文件等很多还须要缓缓摸索,这一些都是一些根底玩法。路漫漫其修远兮,吾将上下而求索。 ...

January 15, 2021 · 1 min · jiezi