精华内容
下载资源
问答
  • 下载安装注册app
    千次阅读
    2018-06-14 10:45:44

    1、首先获取该App的开发包App Bundle。打包后的.ipa包,添加后缀.zip。然后解压。找出开发包。

    2、Xcode提供了一个simctl命令,可以对模拟器做各种操作,simctl命令的路径是:

    /Applications/Xcode.app/Contents/Developer/usr/bin/simctl

    3、在终端执行命令

    /Applications/Xcode.app/Contents/Developer/usr/bin/simctl install booted App Bundle开发包的路径

    4、这样就可以把开发包安装在启动的模拟器中了,booted指的是当前启动的模拟器。

    5、在模拟器上打开你要调试的App页面、再打开Mac上的Safari浏览器,在‘开发>iOS Simulater’菜单下选中模拟器中打开的页面(xxxxxx.html)就可以。如果没有‘开发’菜单,到‘偏好设置>高级’中开启。


    此方法可用于调试App中的Web界面、无需获取URL连接、直接连接模拟器在Safari中调试.在打开的网页检查器中 ‘调试器——来源’。可以直接查看.js代码、‘元素’可以用来查找代码标签与界面一一对应关系。

    更多相关内容
  • App下载安装量如何统计

    千次阅读 2021-02-22 18:55:09
    背景和目的 开展广告推广等活动后,想要通过安装量、注册量分析活动效果 ...这五个步骤分别对应的量化数据是:落地页访问量、下载按钮点击量、App下载量、App安装激活量、App注册量。 通过对这四个指标的跟踪

    背景和目的

    开展广告推广等活动后,想要通过安装量、注册量分析活动效果
    给多个不同渠道,分别进行安装量分析,评估谁优谁劣
    方便渠道结算,为后续活动的开展提供数据支撑

    App安装流程

    通常用户在某个渠道下看到App的下载链接后,会经历以下五个步骤:打开链接进入下载页面->点击下载按钮跳转应用商店->进入应用商店下载App->打开激活App->注册登录账号。

    这五个步骤分别对应的量化数据是:落地页访问量、下载按钮点击量、App下载量、App安装激活量、App注册量。

    通过对这四个指标的跟踪和分析,可以改进渠道推广中的多方面问题:
    落地页访问量:用于分析推广策略是否有问题,标题和样式是否吸引人。
    下载按钮点击量:用于分析落地页素材效果,如果是活动推广页,还可以分析活动效果。
    App下载量:意义并不大,下载不代表用户会打开App使用,安装量、注册量更接近真实用户数量。
    App安装激活量:用于分析渠道价值,能带来多少有效转化用户。
    App注册量:用户分析用户的转化效果,同时根据新用户信息,可以分析App当前受众的性别、年龄、兴趣等信息。

    使用方案

    采用了openinstall SDK,他们的安装量统计是指:新用户下载后首次打开App的激活数据,该数据是比较具备参考价值的。

    通过openinstall 给每个渠道各自生成统计链接,能分别统计到各自的访问量、点击量、安装量、注册量等数据,还具备排除重复数据的功能。

    有效评估了每个渠道分别带来的用户质量以及渠道价值,从渠道的推广到用户转化,整个链路的各个环节都有了充分的数据支撑。
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 下载app.asar 放在 StarUML 安装目录 resources/app.asar 覆盖即可
  • App下载、静默安装并自启动

    千次阅读 2018-03-31 16:01:58
    前不久遇到一个需求,说是要实现app的静默安装并且安装完了之后要能够自启动。我上网查了很多资料,方法基本都差不多,但是基本上每种方法我都试过了,能够实现静默安装,但是自启动的时候就遇到了问题。很多类似的...
    前不久遇到一个需求,说是要实现app的静默安装并且安装完了之后要能够自启动。我上网查了很多资料,方法基本都差不多,但是基本上每种方法我都试过了,能够实现静默安装,但是自启动的时候就遇到了问题。很多类似的博客下面几乎都有人提问说为啥不能够自启动。我当时在操作的时候也发现自启动失败,后来我反复推敲尝试实现了这个功能,大多数博客介绍的方法是没有问题的,问题在于博主没有把过程讲述得很清楚,从而给读者造成了误解,特此发文一篇希望帮助广大受阻的读者。
    
    静默更新这个需求是有一定的前提的,一般这类的需求只会出现在一些厂商定制的pad或特定设备上面,系统要给足了root权限,手机上有一类做法可以在不需要root权限的前提下实现更新,但模式算不得静默更新,当然这不是我们今天要讨论的问题,我也就不在这里多说了。
    

    一、安装包下载

    安装包下载相关的文章数不胜收,主要是代码涉及静默安装,我这里就把我的代码拿出来做个参考吧。
    
    public class DownLoadUtils {
    
        public static void download(final String apkUrl) {
            Thread thread;
            thread = new Thread(new Runnable() {
                @Override
                public void run() {
                    downloadFile(apkUrl);
                }
            });
            thread.start();
        }
    
        //下载apk
        public static File downloadFile(String apkUrl) {
            final String fileName = "update.apk";
            File tmpFile = new File("/sdcard/update");
            if (!tmpFile.exists()) {
                tmpFile.mkdir();
            }
            final File file = new File("/sdcard/update/" + fileName);
            try {
                URL url = new URL(apkUrl);
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                InputStream is = conn.getInputStream();
                FileOutputStream fos = new FileOutputStream(file);
                byte[] buf = new byte[1024];
                conn.connect();
                double count = 0;
                if (conn.getResponseCode() >= 400) {
                    //连接超时
                } else {
                    while (count <= 100) {
                        Log.e("install", "download" + count + "");
                        if (is != null) {
                            int numRead = is.read(buf);
                            if (numRead <= 0) {
                                break;
                            } else {
                                fos.write(buf, 0, numRead);
                            }
                        } else {
                            break;
                        }
                    }
                }
                conn.disconnect();
                fos.close();
                is.close();
                InstallApkUtils.excuteSuCMD(InstallApkUtils.sdPath);//执行静默安装
            } catch (Exception e) {
                e.printStackTrace();
            }
            return file;
        }
    }

    上面的代码中,当安装包下载完成之后,开始执行静默安装方法。

    二、静默安装

    强调一点,文章中提到的静默安装是在系统开发了root权限的前提之下,如果没有获取root权限,还是采用系统的安装流程吧!
    
    public class InstallApkUtils {
        public static Context mContext = null;
        public static String sdPath = "/sdcard/update/update.apk";//下载sd路径
    
        //判断是否update目录下有文件
        public static boolean isHasFile() {
            try {
                File f = new File(sdPath);
                if (!f.exists()) {
                    return false;
                }
            } catch (Exception e) {
                return false;
            }
            return true;
        }
    
    
        public static void excuteSuCMD(String currenttempfilepath) {
            if (isHasFile()) {
                Process process = null;
                OutputStream out = null;
                InputStream in = null;
                try {
                    //请求root
                    process = Runtime.getRuntime().exec("su");
                    out = process.getOutputStream();
                    //调用安装
                    out.write(("pm install -r " + currenttempfilepath + "\n").getBytes());
                    in = process.getInputStream();
                    int len = 0;
                    byte[] bs = new byte[256];
                    while (-1 != (len = in.read(bs))) {
                        String state = new String(bs, 0, len);
                        if (state.equals("success\n")) {
                            //安装成功后的操作
                            //静态注册自启动广播
                            Intent intent = new Intent();
                            //与清单文件的receiver的anction对应
                            intent.setAction("android.intent.action.PACKAGE_REPLACED");
                            //发送广播
                            mContext.sendBroadcast(intent);
                        }
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                } catch (Exception e) {
                    e.printStackTrace();
                } finally {
                    try {
                        if (out != null) {
                            out.flush();
                            out.close();
                        }
                        if (in != null) {
                            in.close();
                        }
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            } else {
                Log.e("install", "apk is not exist");
            }
        }
    }
    安装完成之后我们会发送一条广播
    
    //静态注册自启动广播
     Intent intent = new Intent();
     //与清单文件的receiver的anction对应
     intent.setAction("android.intent.action.PACKAGE_REPLACED");
     //发送广播
     mContext.sendBroadcast(intent);

    三、注册并接收广播

    上面的安装中提到了安装结束会发送一个广播,这条广播的作用就是如果发生了安装包的替换就重新启动应用。
    

    注意:很多人说安装完成之后,应用并没有自己启动,问题在于更新后的安装包没有注册并接收上一个版本发出的广播,下面所提到的源代码一定要在新安装的apk包中实现。

    public class UpdateReceiver extends BroadcastReceiver {
    
        public static final String UPDATE_ACTION = "android.intent.action.PACKAGE_REPLACED";
    
        @Override
        public void onReceive(Context context, Intent intent) {
            if (intent.getAction().equals(UPDATE_ACTION)) {
                Intent intent2 = new Intent(context, TestActivity.class);
                intent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                context.startActivity(intent2);
            }
            //接收安装广播
            if (intent.getAction().equals("android.intent.action.PACKAGE_ADDED")) {
                String packageName = intent.getDataString();
    //            System.out.println("安装了:" + packageName + "包名的程序");
    
            }
            //接收卸载广播
            if (intent.getAction().equals("android.intent.action.PACKAGE_REMOVED")) {
                String packageName = intent.getDataString();
    //            Log.e("install","卸载了:" + packageName + "包名的程序");
            }
        }
    }
    然后在AndroidManifest.xml文件中注册UpdateReceiver,当然你也可以选择在源代码中动态注册。
    
    <!--静默更新、自启动-->
    <receiver android:name=".utils.UpdateReceiver">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
         <intent-filter>
             <action android:name="android.intent.action.PACKAGE_REPLACED" />
             <action android:name="android.intent.action.PACKAGE_ADDED" />
             <action android:name="android.intent.action.PACKAGE_REMOVED" />
             <data android:scheme="package" />
          </intent-filter>
     </receiver>
      当然需要用到的权限不要忘了声明
    
    <uses-permission android:name="android.permission.INTERNET" />
      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
      <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    
      <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
      <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
      <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
      <uses-permission android:name="android.permission.RESTART_PACKAGES" />
      <uses-permission
            android:name="android.permission.INSTALL_PACKAGES"
            tools:ignore="ProtectedPermissions" />

    四、总结

    整个过程大概流程如下:

    1. 下载apk到指定的文件夹下(声明相关的权限);
    2. 注册广播,用来监听app的变动情况实现app的自启动,广播的注册和接收处理在所有的app版本里都要存在;
    3. 获取root权限,从文件夹获取安装包,执行安装程序;
    4. 安装完成之后,发送广播重新启动app。

    我当时在实现的过程中,发现app没有重新启动,但是退出app再重新进入已经是更新过的版本,后来我反复阅读别人的文章,发现是我自己没有理解透彻整个实现的过程,我放在服务器上的安装包没有实现广播的接收流程,所以导致了app没有重新启动,后来重新上传了安装包测试通过。

    展开全文
  • Android app下载安装

    千次阅读 2018-02-24 17:50:42
    下载功能//下载apk private void downloadApk(String apkUrl) throws PackageManager.NameNotFoundException { Uri uri = Uri.parse(apkUrl); DownloadManager downloadManager = (DownloadManage...

    1  下载功能

    //下载apk
        private void downloadApk(String apkUrl) throws PackageManager.NameNotFoundException {
    
            Uri uri = Uri.parse(apkUrl);
            DownloadManager downloadManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
            DownloadManager.Request request = new DownloadManager.Request(uri);
            // 设置允许使用的网络类型,这里是移动网络和wifi都可以
            request.setAllowedNetworkTypes(request.NETWORK_MOBILE | request.NETWORK_WIFI);
            //设置是否允许漫游
            request.setAllowedOverRoaming(true);
            //设置文件类型
            MimeTypeMap mimeTypeMap = MimeTypeMap.getSingleton();
            String mimeString = mimeTypeMap.getMimeTypeFromExtension(MimeTypeMap.getFileExtensionFromUrl(apkUrl));
            request.setMimeType(mimeString);
            //在通知栏中显示
            request.setNotificationVisibility(request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
            request.setTitle("download...");
            request.setVisibleInDownloadsUi(true);
            //sdcard目录下的download文件夹
            request.setDestinationInExternalPublicDir("/download", "SanjuScanApp_Android.apk");
            // 将下载请求放入队列
            downloadManager.enqueue(request);
        }


    2  设置接收广播

    public class InstallReceiver extends BroadcastReceiver {
    
        // 安装下载接收器
        @Override
        public void onReceive(Context context, Intent intent) {
            if (intent.getAction().equals(DownloadManager.ACTION_DOWNLOAD_COMPLETE)) {
                installApk(context);
            }
        }
    
        // 安装Apk
        private void installApk(Context context) {
    
            try {
                Intent i = new Intent(Intent.ACTION_VIEW);
                String filePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/download/SanjuScanApp_Android.apk";
                i.setDataAndType(Uri.parse("file://" + filePath), "application/vnd.android.package-archive");
                i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                context.startActivity(i);
            } catch (Exception e) {
                e.printStackTrace();
            }
    
        }
    }

    3  注册广播(AndroidManifest.xml的receiver节点)

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.tyler.myapplication">
    
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.VIBRATE" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    
        <application>
            <activity
                android:name=".LoginActivity"
            </activity>
            
            <receiver
                android:name="com.example.tyler.HelperTool.InstallReceiver">
                <intent-filter>
                    <action android:name="android.intent.action.DOWNLOAD_COMPLETE" />
                </intent-filter>
            </receiver>
        </application>





    展开全文
  • android监听app安装与卸载

    千次阅读 2019-08-16 10:32:15
    许多时候,需要监听到程序是否安装或者卸载成功,在android系统中,安装和卸载都会发送广播,当应用安装完成后系统会发android.intent.action.PACKAGE_ADDED广播。可以通过intent.getDataString()获得所安装的包名。...
  • 有感于Windows11中安装安卓App

    千次阅读 2021-11-02 22:32:49
    很多人认为这是个 好东西,甚至认为这大大拓展了我们电脑的使用场景,让我们更方便直观地在大屏幕上流畅使用手机 APP,办公游戏都更轻松。其实并非如此。 要使用该功能,首先你要安装微软的虚拟机Hyper-V,这明显是...
  • APP下载量全面概述,含统计方法

    千次阅读 2021-02-26 18:59:37
    首先明确 App安装流程,用户在看到 App 的广告后,会经历的主要下载路径为:打开链接进入落地页->点击下载按钮跳转应用商店->进入应用商店下载 App->打开激活 App->注册登录账号。 该流程分别对应的...
  • 最近公司的项目准备着手宣传工作了,宣传手册上要印制App的下载地址二维码,但是客户端应用还未上线,需要一种临时的方案解决应用分发下载问题,通常ios应用必须通过苹果应用商店才能下载安装,但是也可以看到一些...
  • Whatsapp 账号 注册

    千次阅读 2021-05-31 13:57:54
    使用协议注册需要安装jdk 环境。 然后就可以直接使用cli 工具了 工具下载地址 解压目录 运行 出现 WebSocket Client connected! 说明连接成功了, 开始注册账号了 1) 检查账号是否已经注册 CheckAccountExist test ...
  • 微信扫一扫屏蔽了APP下载连接无非是想让大家将资源转移到自家平台,国人微信中毒过深,看到二维码首先想到的一定是微信(好强大的用户引导)。为了更好的用户体验,只能向腾讯屈服将应用转移到腾讯平台。当然如果是...
  • 【uni-app】Openinstall携带参数安装

    千次阅读 2020-11-30 15:10:18
    根据项目需求,需要分享功能,但不想重复以前老的填写邀请码的麻烦操作,所以就用到了...现在来浅谈一下Openinstall在uni-app中的使用方法。 首先当然是拥有一个Openinstall的账号了,这个当然在官网自行注册,不必
  • 96.android 简单的更新APP下载安装APK(四种方式)

    千次阅读 多人点赞 2019-02-21 11:00:27
    //第一种 下载更新使用OKHttp+ProgressDialog进度条+第三方AlertDialog //第一步 在Manifest.xml里面写权限: <!-- 网络权限--> <uses-permission android:name="android.permission....
  • 介绍  项目中需要引入腾讯手机管家做安全防护功能,因此需要检测用户手机是否安装了腾讯手机管家,以此来引导用户下载手机管家,这个功能其实也很简单。首先需要拿到手机管家的包名,不用多说,包名是APP的唯一...
  • iphone app安装操作说明

    千次阅读 2021-09-19 23:10:18
    下载后打开,右下角有设置可进行修改语言和注册企业号 修改语言并输入企业号点击注册,成功后返回登录界面 登录创建的用户,用户不能和pc端的一样,需要另外创建一个用户 登录后可在里面进程解密审批操作。 ...
  • FakeApp下载及教程

    万次阅读 2018-12-31 17:51:40
    FakeApp, Faceswap, DeepFaceLab等Deepfakes换脸程序的简单对比  (deepfakes.com.cn中文站 - 全套教程及软件 Q 群:743285272) 目前用于深度换脸的程序基本都是用python编程语言基于tensorflow进行计算。以下列...
  • Android中App安装位置详解

    千次阅读 2021-06-02 21:49:40
    Android应用可以安装在本机自带存储,同时也可以安装到外部存储(SD卡)。自从API 8后也就是Android2.2后,我们能使APK安装到外部存储上。这是一个可选的特性,在工程的manifest文件中可以进行配置:如上,如果声明为...
  • Fakeapp2.2.0安装图文实录-见坑填坑

    万次阅读 多人点赞 2018-09-30 08:02:31
    下载APP和core文件; 链接:https://pan.baidu.com/s/1jJHShpk 密码:wekn     具体安装过程: 1、安装必要环境; 硬件和操作系统,支持cuda的Nvidia显卡,8G及以上的内存,Windows10 x64,     ...
  • h5页面app下载

    千次阅读 2020-08-05 16:20:15
    苹果方式2:ipa在线下载安装(itms-services) 1、ipa的下载地址放到plist的文件中(plist格式见下文) 2、plist的链接要求一定是https的,而且必须是公网ssl,自签名及免费的https不可用。 3、链接格式要求一定...
  • 很多东西也不是越新越好,比如APP——在 iPhone 上尤其如此 比如可以查看 iOS 每日限免应用的Price Tag在 2.3.1版时还完全没有内购,所有高级功能都能免费解锁! 这个APP阿虚原来有推荐过,不过现在很可惜已经下架...
  • 前言: 非越狱设备,在你的应用里无法知道系统安装了什么别的应用。  ...如果想要准确的通过程序控制和...一、如何判断是否安装App 用 UIApplication 的 canOpenUrl 方法,当然前提是要检测的应用程序注册
  • 前段时间个人项目里需要加入一个预览word文档的功能,大致流程就是把这个word下载下来...由于交付在即,于是乎有一个想法:将这个demo作为一个插件app放在项目里,然后在需要用到这个功能的时候安装然后使用。搜索引...
  • 情景:不希望app发布到开放平台,要求通过扫描二维码下载apk,安装APP。注意事项:1. 微信打开的二维码页面,会自动屏蔽apk文件,所以显然把apk的url生成一个二维码,让用户扫一扫后就能直接下载,这样是行不通的。2...
  • 手机禁止安装app,刷机才能恢复

    千次阅读 2019-11-28 10:16:17
    手机禁止安装app,刷机才能恢复 让智能手机安装了必要的app之后,永远禁止安装其他任何app,只有通过刷机才能恢复回来,这个需求对于学生来说很有必要。 比如:安装必要的学习软件,微信,地图导航等等之外,...
  • Android/iOS如何识别App安装来源追踪?

    千次阅读 2020-10-16 18:18:17
    本文主要针对Android和iOS安装来源追踪做分析,希望能提供一些 App数据统计上给予参考价值和思路。 app推广是公司运营App走向市场的开始,App推广运营人员每天最关心的就是渠道数据的变化,用来衡量工作效果的直接...
  • h5页面唤起app(iOS和Android),没有安装则跳转下载页面2017年06月30日 17:16:122738人阅读 评论(1) 收藏 举报 分类:IOS(3) 由于研究了之后,和同事沟通,找到一个地址进入,分别测试不同手机,机型,安卓进入...
  • 1、建议安装使用最新版,官方下载地址 https://www.charlesproxy.com/download 2、安装完成之后,需要破解: 破解方法 打开破解地址:https://www.zzzmode.com/mytools/charles/ 输入RegisterName(此名称随意,用于...
  • 文章目录写在前面需要的准备工作APP图标配置证书、设备、开发人员的配置添加开发者配置App ID App的唯一标识生成证书请求文件申请开发证书和描述文件导出p12证书申请开发 描述文件添加设备UDID获取UDID生成描述文件...
  • 通过扫描二维码进入下载APP的流程

    千次阅读 2020-12-04 20:40:41
    利用远程桌面连接阿里云服务器 在“开始”界面找到服务器管理器 ... ...4. 在IIS管理器中双击...7. 找到服务器中Tomcat的安装路径,在webapps文件夹下新建一个文件夹,名字最好取英文,我取名为apk 8. 将自己的ap..
  • Android APP自动升级安装失败

    千次阅读 2018-09-24 17:32:45
    ##Android APP自动升级安装失败 ###概述 自动升级在APP中是一个非常常见的功能,当你的应用有更新时,可以提醒用户升级甚至在必要时可强制用户升级。但随着系统版本的更新,安装apk的权限也在收紧,导致一些APP在高...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 91,182
精华内容 36,472
关键字:

下载安装注册app