精华内容
参与话题
问答
  • 7个代表性的Android应用程序完整源代码

    万次下载 热门讨论 2011-06-14 15:04:30
    7个比较具有代表性的Android应用程序源代码!
  • 安卓 Android之开发简单小应用(一)

    万次阅读 多人点赞 2018-06-23 14:52:09
    安卓 Android之开发简单小应用(一) 一、简述  记 --没学过Android之开发简单小应用。(课程设计作业)  例子打包:链接:https://pan.baidu.com/s/1LEQ1oWkUX8OmtfCFVydxWQ 密码:9o0d 二、环境搭建 软件打包:...

    安卓 Android之开发简单小应用(一)

    一、简述

        记 --没学过Android之开发简单小应用。(课程设计作业)

        例子打包:链接:https://pan.baidu.com/s/1LEQ1oWkUX8OmtfCFVydxWQ 密码:9o0d

    二、环境搭建

    软件打包:链接:https://pan.baidu.com/s/1VVsZqPrwOtvMuzeeJE1y_A 密码:qspp

    下载解压即可

    1、安装JDK  (默认即可)

    2、设置环境变量

          2.1右键计算机--》属性--》高级系统设置--》高级--》环境变量

           2、2 新建变量名【ClassPath】,其值可设为 【.;%JAVA_HOME%/lib/rt.jar;%JAVA_HOME%/lib/tools.jar】。前面有个.

    (如果使用1.5以上版本的JDK,不用设置CLASSPATH环境变量,也可以正常编译和运行Java程序。)

           2、3找到Path变量,点击【编辑】,在变量值最前面加上【%JAVA_HOME%/bin;】后面有个分号“;”

    注意:记得点击确定

    补充:使用命令脚本设置环境变量,将一下内容保存为xxx.bat或xxx.cmd,然后双击运行(可能需要管理员权限)。

       (记得JAVA_PATH环境变量的值是JDK的实际安装路径,需要根据实际情况进行更改)

    ::先删除之前的JAVA_HOME(防止歧义)
    wmic ENVIRONMENT where "name='JAVA_HOME'" delete
    ::先删除之前的ClASSPATH 
    wmic ENVIRONMENT where "name='CLASSPATH'" delete
    ::创建名称为JAVA_HOME的系统环境变量, VariableValue :是JDK的安装路径
    wmic ENVIRONMENT create name="JAVA_HOME",username="<system>",VariableValue="C:\Program Files (x86)\Java\jdk1.7.0_45"
    ::备份Path环境变量(防止改错了)
    echo %Path%>Path.txt
    ::在系统环境变量Path中增加关于java的环境变量
    wmic ENVIRONMENT where "name='Path' and username='<system>'" set VariableValue=".;%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin" 
    ::创建CLASSPATH系统环境变量 (听说这个可以不加)
    wmic ENVIRONMENT create name="CLASSPATH",username="<system>",VariableValue=".;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar;" 
    ::暂停一下
    pause

    3、打开ADT (不用安装,解压后打开即用)     ADT:Android Developer Tools 安卓开发者工具

    三、新建一个工程

    然后一直点击"Next",直到点击"finish"完成。

    没有创建过虚拟设备的(模拟手机设备),需要新建。(有创建过的可以不用再创建,当然也可以进行修改虚拟设备的型号)

    四、运行项目

    右击项目--》Run As--》Andriod Application

    启动虚拟设备时信息输出

    成功启动之后,自动运行刚才运行的应用

    在项目文件下的bin 目录生成对应的.apk文件,可以直接安装到安卓手机

    五、总结

    1、启动虚拟设备之后,修改了代码,需要再次Run As程序,需要在虚拟设备中退出该应用,因为每Run As一次就会安装一次,先退出上一个版本的应用,再安装,否则可能安装失败。(不用退出虚拟设备,每一开启虚拟设备太耗时间)

    2、调试信息输出,比如说System.out.println("程序已经执行到这里了");默认是看不到的输出信息的,需要设置,(可能需要重启ADT方可生效)

    3、设置中文输入

    4、新建activity(新建一个页面)

    5、实现页面跳转并在第二个页面关闭时想第一个页面传递数据

        5.1在第一个页面添加一个按钮(直接拖拽到相应的布局文件即可)(就是打开)

    注:直接修改文本会有一个叹号,可以使用string.xml,这样就不会有叹号

     

       

     5.2写代码从第一个界面跳转到第二个界面

        5.3第一个界面对应的代码为MainActivity.java

      5.4跳转代码

    5.5当第二个页面关闭返回时的处理代码

    5.6编写第二个页面的代码(TwoActivity.java)

    5.7效果:

    6、设置app的名字

    7、导入已存在的项目

    8、设置字体

    展开全文
  • android应用开发入门

    千次阅读 2011-11-17 23:04:21
    1.Android是什么?  Android 是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序 ——移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。谷歌与...
             1.Android是什么?
    

            Android 是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序 ——移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。谷歌与开放手机联盟合作开发了Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达和 T-Mobile 在内的 30 多家技术和无线应用的领军企业组成。

    Android 作为谷歌企业战略的重要组成部分,将进一步推进"随时随地为每个人提供信息"这一企业目标的实现。

             2.环境配置和安装

            网上一搜一大堆,大家自己找吧。比较简单。

              3.Android系统架构



              3.1 Linux内核(Linux Kernel)

        * Android运行在linux kernel 2.6之上,但是把linux内受GNU协议约束的部分做了取代,这样在Android的程序可以用于商业目的。

        * Linux 内核是硬件和软件层之间的抽象层。  

       3.2中间件

        * 中间件包括两部分:核心库和运行时(libraries & Android runtime)

        * 核心库包括,SurfaceManager显示系统管理库,负责把2D3D内容显示到屏幕;Media Framework 媒体库,负责支持图像,支持多种视频和音频的录制和回放;SQlite数据库,一个功能强大的轻量级嵌入式关系数据库;WebKit浏览器引擎等。

        * Dalvik虚拟机:区别于Java虚拟机的是,每一个Android应用程序都在它自己的进程中运行,都有一个属于自己的Dalvik虚拟机,这一点可以让系统在运行时可以达到优化,程序间的影响大大降低。Dalvik虚拟机并非运行Java字节码,而是运行自己的字节码。

           应用程序框架(Application Framework)  

        * 丰富而又可扩展性的视图(Views),可以用来构建应用程序,它包括列表(lists),网格(grids),文本框(text boxes),按钮( buttons),可嵌入的web浏览器。

        * 内容提供者(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。

        * 资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形,和布局文件( layoutfiles )。

        * 通知管理器(Notification Manager使得应用程序可以在状态栏中显示自定义的提示信息。

        * 活动管理器( Activity Manager用来管理应用程序生命周期并提供常用的导航回退功能。

      3.3应用程序 (Applications)

          * Android系统会内置一些应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。


      4. Android系统包说明

      android.app :提供高层的程序模型、提供基本的运行环境

      android.content :包含各种的对设备上的数据进行访问和发布的类

      android.database :通过内容提供者浏览和操作数据库

      android.graphics :底层的图形库,包含画布,颜色过滤,点,矩形,可以将他们直接绘制到屏幕上.

      android.location :定位和相关服务的类

      android.media :提供一些类管理多种音频、视频的媒体接口

      android.net :提供帮助网络访问的类,超过通常的Java.net.* 接口

      android.os :提供了系统服务、消息传输、IPC 机制

      android.opengl :提供OpenGL 的工具

      android.provider :提供类访问Android 的内容提供者

      android.telephony :提供与拨打电话相关的API 交互

      android.view :提供基础的用户界面接口框架

      android.util :涉及工具性的方法,例如时间日期的操作

      android.webkit :默认浏览器操作接口

      android.widget :包含各种UI 元素(大部分是可见的)在应用程序的屏幕中使用

                 4. Android项目工程说明

      

                 src        存放java源代码。

      gen      存放编译器自动生成的java代码,这个目录下的文件是系统自动维护的。

      assets 存放在这个目录下的文件,无论是mp3还是图片,都会被打包到发布包中。

      res      资源文件目录,添加到这个目录下的文件都会在gen下的R.ava文件中显示出来;如果res下存放的资源在应用中没有使用到,那么在gen下的R.java的文件中就不会显示,那么打包的时候就不会将这部分资源打包,减少了应用的发布文件大小。

      drawable:存放图片文件,注意图片名称必须是[a-z0-9_.]组成;drawable目录下不能分子级目录,只能通过命名方法来加以区分。

      layout:存放与UI相关的布局文件,都是xml文件。

      raw      直接复制到设备中的任意文件,不会被编译,可以放数据库文件。

      values 存放字符串,颜色,数组等常量数据。可以任意命名,但是通常命名:color.xmlstrings.xmlarray.xmlstyles.xmldimens.xml(定义尺寸值:dimension value)

      xml      任意的XML文件,在运行时可以通过调用Resources.getXML()读取。

                   6.最好的学习资源。

                   最好的最基本的学习资料无疑是SDK的文档了,也就是这个地方(http://code.google.com/intl/zh-CN/android/documentation.html)的介绍,它循序渐进的介绍了Android的各个方面。

    展开全文
  • Android应用开发(一)

    千次阅读 2019-08-12 16:24:06
    应用Android未来的使用趋势,其优势在于免安装,渲染能力强,使用原生系统的能力强,H5实时更新等。 在华为2019的开发者大会中也是吹了一把快应用,快服务的使用,以后在鸿蒙系统中也会支持这种快速开发,高效...

    快应用是Android未来的使用趋势,其优势在于免安装,渲染能力强,使用原生系统的能力强,H5实时更新等。

    在华为2019的开发者大会中也是吹了一把快应用,快服务的使用,以后在鸿蒙系统中也会支持这种快速开发,高效,资源占用率低,免安装的快应用模式。

    下面是传统APP,H5APP,混合APP,小程序等使用对比

    从上图也可以看出,各手机厂商制定了快应用标准,就是为了死磕上去年和前年比较火的微信小程序

    现在小程序已经有了一席之地了,快应用还没有怎么被用户所知

    那就要吐槽一下快应用的使用入口了,几乎所有的手机快应用入口都在应用商店里去找,平时也没有看到各手机商在销售时有过介绍什么的。用户不仔细找都没发现有....

    那么就干起来吧:

    开发要求,必须有一些JS基础,不要求能写的有多华丽,但是比较基础的HTML JS CSS代码可以看得懂,后面使用到的知识再慢慢学习补上了了。

    第一步:欲善其工,先利其器,环境搭起来先

    1、安装Node.js环境,Node.js官网地址:https://nodejs.org/en/ 

    2、下载华为快应用开发IDE,Win地址:https://obs.cn-north-2.myhwclouds.com/hms-ds-wf/sdk/DevecoFastAppIDE-V1.4.1-Win64.exe

    MAC地址:https://obs.cn-north-2.myhwclouds.com/hms-ds-wf/sdk/DevecoFastAppIDE-20190706-V1.4.dmg

    3、安装到*****目录下,开始嗨起来。

    第二步:连接手机

    手机打开开发者模式,连接手机。介绍说也可以局域网连接,但是我一直没有尝试成功,也不知道为什么,可能是我的手机不是华为的?一直提示设备已离线。emmm......

    那就用线连接吧。头大

    连上手机后,点击这图标就可以实时预览手机的画面啦????

    华为官网是这样介绍的,但是我没有运行在华为手机上,导致页面一直在刷新,而且开启之后跑项目可以进入调试界面

    页面有点类似浏览器的F12,啊,本来就是同一个东西好伐!

     

    第三 创建自己的应用(对,我就写在第三步怎么了,我自己第二步就先搞了)

    1、填入各项信息,什么包名啊,项目名啊,Android开发的小伙伴最熟悉了,就不多写了。

    2、新建时可以看到有一大推模式可以选择,一大堆已经写好的常用应用视图框架,秉着对hello world传统的尊重,我们就

    3、新建了Hello world工程,毕竟越简单,越容易看出架构最原始的样子。

    4、进去之后还有各种组件库可以直接拖拽,这也太方便了吧,看来以后不用熬夜写代码了,对,大家都要失业了。

    还是跑一下项目先吧。

    emmm....需要先按照华为的快应用加载器(一部手机只能加载一个快应用加载器)

    5、安装成功之后,很快就跑起来了!

    6、这时我们注意到好多IDE右下角有很多组件,我们随便加几个进去,编译(啊,也太快了吧,突然有点嫌弃AndroidStudio,哭唧唧,项目大了有时居然给我编译个7、8分钟,信不信我砸了你,呃,跑偏了!),各个页面的切换真的很流畅。

    快应用是否以后真的可以真正代替Android原始APP。这次真的是有点头大,虽然一开始小程序也是这么喊的,干掉原生,混合APP也是这么喊的,干掉原生,现在快应用也加入了这个行列,显然快应用要比前两者做的好,但是弊端就是只能做Android,IOS开发者还是要写一套自己的原生代码,这个就有点比不过前两者的快速开发(什么快速开发,其实就是老板想节省点钱,把两个人的工作量交给一个人,两个平台共同维护一套代码,其实写起来页面什么的也是很操蛋)。

     

     

     

    那么第一部分就先到这里了,后面继续摸索学习,毕竟华为号称3天就可以完成一个APP的开发,虽然我们大多数开发节奏没这么快,但是快应用突出就是快字,是否可以替代原生拭目以待了。(看来要失业了......)

    下一篇我们看看项目框架具体是如果分布的。

     

     

     

     

     

     

     

     

    展开全文
  • 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用户组,说明已经是系统应用。

    这里写图片描述

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

    展开全文
  • Android应用的几种开发方式

    千次阅读 2016-11-06 20:32:08
    1、前言 自苹果 iOS 和谷歌 Android 操作系统发布以来,在互联网界就多了一个新名词:App(意为运行在智能移动终端上的第三方应用程序)。 最初的 App 有两种形式:一种是基于本地(操作系统)运行的 App,称之为...
  • Android应用程序开发

    2018-09-03 14:37:00
    Android应用程序开发 第一章 Android应用初体验 1.1应用基础 activity是Android SDK中Activity类的一个具体实例,负责管理用户与信息屏的交互。 应用的功能是通过编写一个个Activity子类来实现的...
  • Android应用资源

    2018-05-24 20:18:47
    我们应该始终外部化应用资源,例如图像和代码中的字符串,这样有利于我们单独维护这些资源。此外,我们还应该为特定的设备配置提供备用的资源,方法是将它们分组到专门命名的资源目录中。在运行时,Android会根据...
  • 几款Android 应用自动化测试工具

    万次阅读 多人点赞 2018-01-09 10:20:47
    本文介绍几款流行的 Android应用自动化测试工具。 Monkey测试:随机测试,压力测试,运行在模拟器或实际设备中。 MonkeyRunner测试:操作简单,可录制测试脚本,可视化操作,主要生成坐标的自动化操作,移植性不...
  • 如何检测Android应用是32位还是64位

    千次阅读 2019-04-11 18:24:57
    1、前言 从Android 4.4宣布支持64位系统以来,各终端方案厂商逐步推出了各自的64位soc解决...那么问题就来了,在一个64位系统的Android手机上如何检测应用是运行在32位还是64位环境?本博文将为大家解答这个问题。...
  • 这是本人的Android大作业,课题是生活百科应用。使用的是Android Studio开发
  • Android应用程序开发期末大作业(1)

    万次阅读 2017-12-24 14:28:20
    一、简答题 (每小题5分,4小题,共20分) 1、(1) android大众常用的五种布局(5分)答:FrameLayout(框架布局),LinearLayout (线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格...
  • Android应用程序开发期末大作业(2)

    万次阅读 2017-12-24 16:18:20
    (3)用imageView和imagebutton及activity在界面上实现图片浏览新建android项目如AI03,在项目的/AI03/src/com/example/ai03/MainActivity.java文件写下如下代码,注意包名和图片存放的位置!图片存放目录位置为/AI...
  • android开发期末大作业(项目源码,任务书,实验报告,apk文件) 大作业的要求和内容:(包括题目选择范围、技术要求、递交时间、考核方法等) 一、实验项目名称 Android手机应用开发课程大作业 二、实验目的 1....
  • 移动应用技术开发大作业——Android平台个人简历

    万次阅读 多人点赞 2016-05-12 12:53:55
    这门水课一学期就三四节,两节Android一节ios,就要交大作业了。 出于兴趣自己开始自学,先是做了个简单的登录界面,再跟从CSDN上下载的仿知乎日报模板结合了一下。 由于要交作业,花一整天的时间完成了这个app的...
  • Android移动终端开发大作业2019 Android移动终端开发大作业2019
  • Android应用图标微技巧,8.0系统中应用图标的适配

    万次阅读 多人点赞 2018-03-13 07:56:38
    大家好,2018年的第一篇文章到的稍微有点迟,也是因为在上一个Glide系列...三星今年推出的最新旗舰机Galaxy S9已经搭载了Android 8.0系统,紧接着小米、华为、OV等国产手机厂商即将推出的新年旗舰机也会搭载Android 8.0
  • C#开发Android应用实战 使用Mono for Android和.NET C# PDF扫描版,希望对你有用处。 一般下载的都7.07MB的,那个只是一个样章,这个是书的全部。
  • 实验目的 综合运用基于android平台的智能移动终端软件开发技术. 实验内容 设计实现一个智能移动终端软件应用,至少包含3个相互关联的应用功能,具有较好的用户界面和实际.
  • Android应用开发实战.pdf

    千次下载 热门讨论 2012-12-18 15:25:17
    Android应用开发实战》是一本实践与理论紧密结合的Android应用开发参考书。实践部分以一个完整的大型案例(功能完善的微博客户端)贯穿始终,以迭代的方式详细演示和讲解了该案例的开发全过程,旨在帮助读者迅速...

空空如也

1 2 3 4 5 ... 20
收藏数 797,572
精华内容 319,028
关键字:

android应用