精华内容
下载资源
问答
  • C#程序设计与宿舍管理系统实战

    万人学习 2019-12-17 11:45:41
    为什么要学习C#?C#是微软的王牌语言,拥有接近20年的历史和广泛的应用。...运用ADO.NET开发数据库应用程序,具有面向对象程序设计、分析和调试能力。 希望本套课程在你学习C#的过程中,可以对你有所帮助。
  • 微信小程序框架的制作

    千人学习 2019-01-06 20:13:37
    讲解微信小程序开发所需要准备的注意事项...怎么创建和运行第一个微信小程序,以及如何改造;分析微信小程序的目录结构;app.json配置文件的详细分析;实战讲解微信小程序框架的制作!为你小程序的开发打下第一步基础!
  • 微信小程序开发实战

    万人学习 2016-09-25 16:55:04
    本套课程使用了元认知教学法,直接实战式教学,摆脱学院派的理论式讲解,对于0基础的学员可以入门编写微信小程序,过程中指导如何学习使用文档查阅接口等,通过两完整的实战小项目的实例,入手小程序开发。
  • C语言基础

    万人学习 2020-01-08 14:13:00
    C语言可作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。 3)、应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言...
  • 程序后台开发的那些事

    千人学习 2017-08-15 14:55:28
    程序“简约而不简单”,虽提供的功能及界面简约,但对后端却有着更高的要求。本课程带你了解微信小程序后台开发关键技术点,并通过真实案例,教大家掌握小程序开发中的关键环节,是开发者入门微信小程序开发的必备...
  • 微信小程序项目实战之天气预报

    千人学习 2017-07-16 16:43:17
    带领新手完成一个简单的微信小程序天气预报的项目
  • 董付国系列教材《Python程序设计基础》、《Python程序设计(第2版)》、《Python可以这样学》配套视频,讲解Python 3.5.x和3.6.x语法、内置对象用法、选择与循环以及函数设计与使用、lambda表达式用法、字符串与正则...
  • 数字图像处理实战

    千人学习 2019-06-07 12:08:03
    我将给大家分享几有趣案例,争取把算法流程原理、代码部署都讲清楚。本次课程包含图像算法和机器学习,编程工具主要包括python,c++,android,matlab,opencv,Tesseract等。 由于个人时间精力有限,课程将每隔2-...
  • 这是一个门针对零基础学员学习微信小程序开发的视频教学课程。课程采用腾讯官方文档作为教程的唯一技术资料来源。杜绝网络上质量良莠不齐的资料给学员学习带来的障碍。 视频课程按照开发工具的下载、安装、使用、...
  • python flask web开发入门与项目实战

    千人学习 2019-12-15 19:02:04
            Web网站发展至今,特别是服务器... 综上所述,Flask 是一个用Python语言编写的Web微框架,可以让开发人员快速开发各种Web应用        课程预计每周更新两节
  • 还要对 1)计算机基本原理、系统架构 2)编译、链接原理、程序加载运行原理、嵌入式系统硬件 3)C标准、C编译器对C标准的扩展 4)程序的健壮性、安全性、编码风格等 有一个更深的理解和掌握。 《C语言嵌入式Linux...
  • 原理图PCB绘制是硬件工程师、PCB工程师、单片机工程师等相关岗位必须具备的技能。
  • Android 将自己应用改为系统应用

    万次阅读 多人点赞 2016-11-30 16:19:11
    所谓系统程序就是system/app目录中的程序,普通应用转换成系统程序后有稳定、减少...第种:使用ADB命令将app安装在system/app目录下转载:android 将自己应用改为系统应用这种方法的原理就是:1、把apk文件移动到

    刚才有个朋友问我,博主发生什么事了,给我发了几张截图,我一看,哦,原来是有个大帅哔看了文章,说是,博主,我能白嫖你的文章,我说年轻人,点个赞再走,他说不点,我说点一个,他说不点,我说点一个,他说不点,我说我这文章对你有用,他不服气,说要先看看。我说可以,很快啊,看完后,就是一个复制,一个粘贴,一个网页关闭,我大意了啊,没有删除文章。按传统博客的有用为止,他说已经输了啊。 后来他说他是乱点的,这可不是乱点的啊,训练有素。我劝年轻人好好点赞,耗子尾汁,谢谢朋友们

    转载请标明出处:http://blog.csdn.net/xx326664162/article/details/53406933 文章出自:薛瑄的博客

    所谓系统程序就是system/app目录中的程序,普通应用转换成系统程序后有稳定、减少内存(DATA)空间占用、恢复出厂设置后不会消失、修改系统时间、调用隐藏方法、系统关机重启、静默安装升级卸载应用等等等等优点,想知道怎么操作?接下来我们介绍三种方法。

    #第一种:使用ADB命令将app安装在system/app目录下

    参考:android 将自己的应用改为系统应用

    ##这种方法的原理就是:
    1、把apk文件移动到system/app目录,
    2、.so文件移动到system/lib目录。
    3、修改相应的权限

    ##操作步骤:

    1. 将你的手机数据线,插上,把你的设备设置为允许usb调试
    2. 打开命令终端cmd
    3. 输入命令 adb shell
    4. 确定能进入系统
    这里写图片描述

    5. 输入命令 mount
    这里写图片描述

    6. 因为system默认是只读文件夹,所以根据上面的提示输入下面命令,使其变为可读写
    mount -o remount /dev/block/nandd /system (图)
    这里写图片描述

    再出输入 mount 查看system和上面的不一样了,说明正确

    这里写图片描述

    7. 输入 exit 退出android系统终端

    8. 解压你的apk文件,进入查看lib/armeabi文件夹下有没有 .so文件,如果没有这种库文件的话,直接跳到第10步,(因为有些apk文件是要调用动态链接库的,你不拷贝的话,就没有办法运行!会报错)如果有的话, 将这些.so文件都拷贝到/system/lib文件夹下:*

    命令:adb push libiReader_txtparser.so system/lib
    这里写图片描述

    9、拷贝完了之后呢,要给这些库文件添加权限,看看别的库文件权限是几

    chmod   644  xxxxx.so
    

    这里写图片描述

    10. 将你的apk文件拷贝进入/system/app(该文件夹里存放着所以系统级别的apk),图中我是将iReader.apk拷贝过去的

    这里写图片描述

    11. 再次进入android终端 adb shell
    12. 进入system/app文件夹 cd system/app
    13. 查看其他apk的权限 ll 能看出区别

    这里写图片描述

    14. 修改iReader.apk权限使其和其他的一样 chmod 644 iReader.apk
    这里写图片描述

    15. 搞定这些之后,重启设备 reboot
    16. 看看系统里面是不是安装好了该应用,点击一下,看是否正常运行,可以的话,再检测是否无法卸载!

    #第二种:借助工具把app转为系统应用(原理和方法一一样)

    转载:安卓进阶教程:怎样把应用转换成系统程序

    RE管理器转换和LINK2SD都可以实现,任选其一即可

    ##使用RE管理器转换

    1、首先我们把需要转换的程序在电脑上用压缩软件打开 ,看有没有lib这个目录。如果有,再把lib目录打开,直到出现以.so结尾的文件,把文件都拖出来备用。

    这里写图片描述这里写图片描述

    2、把需要转换的应用(apk文件)连同刚拖出的.so文件(如果有),放到手机内存卡,
    3、用RE管理器复制到system目录,把权限更改如图,
    4、把更改权限后的apk文件移动到system/app目录,.so文件移动到system/lib目录。
    5、完成后重启手机,应用就转换成系统程序了。

    ##使用LINK2SD转换

    这里写图片描述这里写图片描述

    如果感觉以上方法麻烦,也可借助工具来操作,LINK2SD、钛备份等软件都可以把普通程序转换为系统程序,以LINK2SD为例,打开LINK2SD,找到需要软件的程序,点击,再点操作,选择转换系统应用,接着会有个确认窗口,确认后,重启手机程序就转换好了。

    #第三种:使用signapk打包成系统应用

    参考:
    android之使用signapk打包成系统应用,获取系统权限
    使用platform密钥来给apk文件签名的命令
    Android安全开发之通用签名风险
    关于android:sharedUserId="android.uid.system"这个系统级权限
    安装APK 时, 提示" 共享用户权限不完整" , 不能安装成功, 如何解决?
    https://github.com/android/platform_build/tree/master/target/product/security

    为了更好地理解下面介绍的两种方法的原理,先来学习几个概念:

    ##Android应用签名机制
    Android系统要求安装的应用必须用数字证书进行签名后才能安装,并且签名证书的私钥由应用开发者保存。签名证书的生成也由开发者自己生成。在应用安装时会校验包名(package name)和签名,如果系统中已经存在了一个相同的包名和签名的应用,将会用新安装的应用替换旧的;如果包名相同但是签名不同,则会安装失败。

    为什么需要数字签名?

    数字签名是防止要保护的内容被篡改,用非对称加密算法。先对要保护的内容进行消息摘要,用私钥对消息摘要进行加密,生成数字签名,将数字签名和要保护的内容一起分发出去。 内容接收者用公钥对数字签名解密得到发送者给的消息摘要A,内容接收者对接收到的内容进行用相同的消息摘要算法处理得到消息摘要B,对比A和B是否相同,来判定传送的内容是否被篡改。 正常的APK文件是个ZIP压缩文件,除了应用的可执行文件、资源文件,还包括这些可执行文件、资源文件的摘要信息,数字证书的公钥信息等。并且通过这些签名信息可以确定APP和其开发者的关系。

    进行签名需要的工具有哪些?

    对apk进行签名需要用到签名证书和签名工具。Android系统要求对APP进行签名的数字证书可以由开发者自己生成。签名工具有jarsigner和signapk。jarsigner是Java本身自带的一个工具,他也可以对jar进行签名的;而signapk是专门为了Android应用程序apk进行签名的工具。二者的区别是:jarsigner工具签名时使用的是keystore签名文件,signapk工具签名时使用的是pk8,x509.pem文件。

    签名后的文件都有哪些?

    应用签名完后在应用的META-INF目录下会有三个文件:

    CERT.RSA、CERT.SF和MANIFEST.MF。

    MANIFEST.MF中保存了所有其他文件的SHA1摘要并base64编码后的值。

    CERT.SF文件 是对MANIFEST.MF文件中的每项中的每行加上“rn”后,再次SHA1摘要并base64编码后的值(这是为了防止通过篡改文件和其在MANIFEST.MF中对应的SHA1摘要值来篡改APK,要对MANIFEST的内容再进行一次数字摘要)。

    CERT.RSA 文件:包含了签名证书的公钥信息和发布机构信息。

    对安装包的校验过程在源码的frameworks/base/core/java/android/content/pm/PackageParser.java类中可以看到

    什么是通用签名?

    搭建好Android开发环境后(使用Eclipse或Android Studio),对APK签名的默认密钥存在debug.keystore文件中。在linux和Mac上debug.keystore文件位置是在**~/.android路径下,在windows目录下文件位置是C:\user\用户名.android**路径下。

    除了debug.keystore外,在AOSP发布的Android源码中,还有以下几个证书是公开的,任何人都可以获取,在源码的build/target/product/security目录中:

    这里写图片描述

    这几个证书的作用:

    testkey

    Generic default key for packages that do not otherwise specify a key.

    platform

    Test key for packages that are part of the core platform.

    shared

    Test key for things that are shared in the home/contacts process.

    media

    Test key for packages that are part of the media/download system.

    verity

    Test Key for verifiedboot system imagein Android Lollipop. Sign boot.img,sign verity metadata in system.img.

    通用签名风险:

    (1)如果攻击者的应用包名与目标应用相同,又使用了相同的密钥对应用进行签名,攻击者的应用就可以替换掉目标应用;

    (2)另外目标应用的自定义权限android:protectionlevel为“signature”或者“signatureOrSystem”时,保护就形同虚设;

    (3)如果设备使用的是第三方ROM,而第三方ROM的系统也是用AOSP默认的签名,那么使用如果使用系统级签名文件签名过的应用,权限就得到了提升。

    ##具体的实现方法:

    ###第一种是需要在Android系统源码的环境下用make来编译:

    1. 在应用程序的AndroidManifest.xml中的manifest节点中加入android:sharedUserId="android.uid.system"这个属性。
    2. 修改Android.mk文件,加入LOCAL_CERTIFICATE := platform这一行
    3. 使用mm命令来编译,生成的apk就有修改系统时间的权限了。

    ###第二种:

    下面着重介绍一个这个方法:

    1. 加入android:sharedUserId="android.uid.system"这个属性。

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
              package="com.example.jant.addview"
              android:sharedUserId="android.uid.system" >
        <application
           ...(省略若干代码)
        </application>
    
    </manifest>
    

    2. 使用自己的签名文件,生成apk

    3. 使用通用签名来重新给apk文件签名。

    3.1 .准备好platform.pk8、platform.x509.pem和签名工具signapk.jar(3个文件的下载地址),还有自己的apk,放在同一个文件夹下。

    3.2 在cmd下进入到该文件夹后,使用如下命令:
    这里写图片描述

    3.3 回车后我们的文件夹下已经多了一个new.apk文件了,这就将我们的应用打包成系统应用


    你也可以在github中去下载,但是下载的是SignApk.java,需要进行一些处理,如下

    1.1.进入\build\target\product\security,找到【platform.pk8】和【platform.x509.pem】系统密钥。
    1.2.进入\build\tools\signapk找到SignApk.java,运行 javac编译成SignApk.class
    1.3.执行命令java com.android.signapk.SignApk platform.x509.pem platform.pk8 input.apk output.apk

    ##最后解释一下原理
    首先加入android:sharedUserId="android.uid.system"这个属性。通过Shared User id,拥有同一个User id的多个APK可以配置成运行在同一个进程中。那么把程序的UID配成android.uid.system,也就是要让程序运行在系统进程中,也就是系统应用。

    只是加入UID还不够,如果这时候安装APK的话发现无法安装,提示签名不符,原因是程序想要运行在系统进程中还要有目标系统的platform key,就是上面第二个方法提到的platform.pk8和platform.x509.pem两个文件。用这两个key签名后apk才真正可以放入系统进程中。第一个方法中加入LOCAL_CERTIFICATE := platform其实就是用这两个key来签名。

    这也有一个问题,就是这样生成的程序只有在原始的Android系统或者是自己编译的系统中才可以用,因为这样的系统才可以拿到platform.pk8和platform.x509.pem两个文件。要是别家公司做的Android上连安装都安装不了。试试原始的Android中的key来签名,程序在模拟器上运行OK,不过放到小米四上安装uibl,如下图,这样也是保护了系统的安全。

    这里写图片描述

    最后还说下,这个android:sharedUserId属性不只可以把apk放到系统进程中,也可以配置多个APK运行在一个进程中,这样可以共享数据,应该会很有用的。
    你在Manifest.xml里声明使用了shareuserid 或者一些特殊permission,比如你shareuserid到uid.system,就必须使用系统platform签名来签你的apk,否则是不能安装的,同理share到其他用户id或者其他process上也是得用跟那个process运行的apk一样的签名
    一般签名肯定是厂商私有的,你肯定是没办法了,除非机器烧的是开发版本(eng)

    #检验app是否已经是系统应用

    查看应用的进程属性,如果是system用户组,说明已经是系统应用。

    这里写图片描述

    关注我的公众号,轻松了解和学习更多技术
    这里写图片描述

    展开全文
  • 本次课程是初级课程,只要熟悉计算机的基本应用和操作,都可以完成本次课程学习。本课程深入浅出的介绍了C#语言的基本语法结构、条件选择、循环、异常处理、数组、集合、值类型和应用类型、字符串的常用方法、日期...
  • 在安装win7旗舰版,用的是在系统之家下载的iso和深度系统下载的GHO,安装了好几次都是卡在安装程序正在应用系统设置,等了很久依然卡在那里。 解决: 用u盘和移动硬盘安装完后,跳出一个对话框进行倒计时自动重启...

    问题:

    在安装win7旗舰版,用的是在系统之家下载的iso和深度系统下载的GHO,安装了好几次都是卡在安装程序正在应用系统设置,等了很久依然卡在那里。

    解决:
    用u盘和移动硬盘安装完后,跳出一个对话框进行倒计时自动重启,选择否,不要让

    系统自动重启,先关机,把U盘和移动硬盘等都拔了,然后,再手动重启就好了。(或者

    选择是,在系统关闭,要重启那一刻,把掉U盘和移动硬盘等外设)。

    展开全文
  • 程序员面试宝典——助你拿到好offer

    万人学习 2019-10-11 10:37:07
     很多开发者找工作时,只是一家家投简历,一... 面试篇,介绍如何给面试官一个好印象、回答问题时如何结构化表达和以及薪资谈判的常见问题。 4. 复盘篇,讨论如何复盘一次面试,如何从面试中成长,如何选择Offer。
  • Android应用程序输入事件处理机制

    千次下载 热门讨论 2013-10-23 09:42:00
    在Android应用程序中,有类特殊的消息,是专门负责与用户进行交互的,它们就是触摸屏和键盘等输入事件。触摸屏和键盘事件是统一由系统输入管理器InputManager进行分发的。也就是说,InputManager负责从硬件接收...
  • PHP微信接口开发

    万人学习 2015-08-27 17:41:03
    微信公众平台是运营者通过公众号为微信用户提供资讯和服务的平台,而公众平台开发接口则是提供服务的基础,开发者在公众平台网站中创建公众号、获取接口权限后,可以通过阅读本接口文档来帮助开发...
  • Android应用程序UI架构 高清PTT

    千次下载 热门讨论 2013-10-23 01:23:45
    在Android应用程序UI架构中,还有一个重要的服务WindowManagerService,它负责统一管理协调系统中的所有窗口,例如管理窗口的大小、位置、打开和关闭等。这个PPT讲Android应用程序的Surface机制,阐述Activity、...
  • 微信支付开发——公众号支付

    万人学习 2016-10-27 14:33:09
    微信已经融入到人们的生活中,很多企业也在跟微信相关的开发,但是网络上缺少微信开发相关的教程,特别是视频教程。课程的大特点是,实战 = 理论 + 演示 + 敲代码。这是部中课程,需要有学习的开发者拥有微信...
  • Android应用程序进程管理

    千次下载 热门讨论 2013-10-23 01:21:26
    Android系统里面的应用程序进程有一个特点,那就是它们是被系统托管的。也就是说,系统根据需要来创建进程以及回收进程。进程创建发生在组件启动时,它们是由Zygote进程负责创建。Zygote进程是由系统中的第一个进程...
  • 微信小程序商城15天从零实战课程

    万人学习 2019-02-15 17:43:42
    讲解微信商城小程序界面设计和程序设计所涉及的所有知识点,包括其中用到的组件知识,API函数知识点,微信小程序前端开发基础知识点,实战将所学的知识点应用到商城小程序中;包括商城首页、轮播广告、产品菜单、...
  • 本季课程首先对Python简要介绍,然后演示如何搭建Python的开发环境,以及如何在IDE中调试Python程序;后面介绍了Python核心和基础的知识内容:什么是变量,数据的类型,运算符,if语句,while语句,for循环,什么是...
  • Android是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。Beta 版 的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 • ...
  • 2.使用压缩软件打开apk,进入META-INF目录下,删除应用程序的3签名文件 3.到android系统目录build/target/product/security/拷贝系统签名文件:platform.x509.pem、platform.pk8到应用apk中。 4.利用签名工具...

    1、在应用程序manifest.xml文件根节点中加入属性:android:sharedUserId="android.uid.system"

    1.使用已经存在的签名到处android应用程序的apk

    2.使用压缩软件打开apk,进入META-INF目录下,删除应用程序的3个签名文件
    3.到android系统目录 build/target/product/security/拷贝系统签名文件: platform.x509.pem、platform.pk8到应用apk中。
    4.利用签名工具signapk.jar修改应用程序签名:命令为: java -jar signapk.jar platform.x509.pem platform.pk8 test.apk testnew.apk
    展开全文
  • 自己开发一个ATL插件,在MFC程序上调用,调式的时候发现”系统在此应用程序中检测到基于堆栈的缓冲区溢出错误...“错误。我百度了一下也没有很好的结果。我把插件换成DeBug版本附加进去,发现程序断在了strDeivce....

    我自己开发一个ATL插件,在MFC程序上调用,调式的时候发现”系统在此应用程序中检测到基于堆栈的缓冲区溢出错误...“错误。我百度了一下也没有很好的结果。我把插件换成DeBug版本附加进去,发现程序断在了strDeivce.Format(("%s%s%d%s%d%s%s%s"), strDeivce, "{\"device\":", i, ",\"seqNbr\":", i, ",\"name\":\"", name, "\"},");

    第一次没有问题,第二次就中断了,原来是Format函数最好不要把自己当作参数传递进去。再加一个变量就好了。

    展开全文
  • 应用程序无法启动,因为应用程序的并行配置不正确” 解决方案: Step1. 按Win+R输入services.msc,找到并双击Windows Modules Installer,进入后设置启动类型为“手动”,服务状态为“启动” Step2.通过上面的...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
     Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1目标文件 摘要:Java源码...
  • 应用程序无法正常启动0xc000007b,请单击确定关闭应用程序 问题再现: 之前将电脑的系统装成了Win7 64位旗舰版的官方原版镜像,镜像名为:cn_windows_7_ultimate_x64_dvd_x15-66043.iso、 当装上Qt creater后,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,027,840
精华内容 1,211,136
关键字:

如何做一个自己的应用程序系统