当前位置:首页 » 安卓系统 » 安卓共享库有什么用

安卓共享库有什么用

发布时间: 2022-08-06 00:16:30

① 手机中没有该应用所需的共享库怎么办

你好,
一方面是你的手机空间不够了,才会导致安装不上。
另一方面推荐你换一款软件安装,比如应用宝,豌豆荚,91助手这些平台都可以下载的。用应用宝更方便些,里面的应用都是专业检测过的,用着放心,而且下载好就直接安装到你的手机里了。另外还能清理手机,释放空间。这样你的问题应该就能解决了。如果帮到你,请采纳哦

② 关于android NDK开发中application.mk文件的疑惑

介绍:
Android SDK是一个允许Android应用开发人员使用C或C++源文件编译并嵌入到本机源代码中的应用程序包的一组工具。
重要说明:
Android NDK只能用于android 1.5以上版本
1.Android NDK的目的:
Android虚拟机允许你的应用程序源代码通过JNI调用在本地实现的源代码,简单的说,这就意味着:
你的应用程序将声明一个或多个用’native’关键字的方法用来指明它们是通过本地代码实现的
例如:native byte[] loadFile(String filePath)
你必须提供包含实现这些方法的共享库(就是.so),将共享库打包到你的应用程序包apk中,这些库文件必须根据标准的Unix约定来命名为 lib<something>.so,并且是需要包含一个标准的JNI的接口,例如
libFileLoader.so
你的应用程序必须明确的装载这些库文件(.so文件),比如,在程序的开始装载它,只需要简单的添加几句源代码:
java代码:
static {
System.loadLibrary(“FileLoader”);
}
注意:这里你不必再将前缀lib和后缀.so写入。
Android NDK对于Android SDK只是个组件,它可以帮你:
生成的JNI兼容的共享库可以在大于Android1.5平台的ARM CPU上运行
将生成的共享库拷贝到合适的程序工程路径的位置上,以保证它们自动的添加到你的apk包中(并且签名的)
在以后的版本中,我们将提供来帮助你的源代码通过远程gdb连接和尽可能多的源代码的信息。
而且,Android NDK还提供:
一组交叉编译链(编译器、链接器等)来生成可以在linux,OS X和Windows(用Cygwin)运行的二进制文件
一组与由Android平台提供的稳定的本地API列表的头文件
它们在docs/STABLE-APIS.html中有说明
重要提示:
记住,在以后的更新和发布平台中,Android系统镜像中的大多数本地系统库并不是一成不变的,而是可以彻底改变,甚至删除的
一个编译系统(build system)可以允许开发者写一个非常短的编译文件(build files)去描述哪个源代码需要编译,并且怎样编译。编译系统可以解决所有的toolchain/platform/CPU/ABI细节的问题。并且,较晚的NDK版本中还添加了更多的可以不用改变开发者的编译文件的情况下的toolchains,platforms,系统接口。
2.Android NDK的缺点
NDK并不是一个可以编写通用的源代码并且可以在Android设备上运行的方法,你的应用程序还是需要使用JAVA程序,适当的处理系统事件来避免“应用程序没有反应”的对话框或者处理Android应用程序的生命周期
注意:可以适当的在源代码中写一个复杂的应用程序,用于启动/停止一个小型的“应用程序包”
强烈建议很好地理解的 JNI,因为许多操作在这种环境要求的开发人员,都采取具体的行动,不一定在常典型的本机代码。这些措施包括:
不能通过指针直接访问VM的对象。比如:你不能安全的得到一个指向String对象的16位char数组的循环遍历
需要显示引用管理本机代码时候要保持处理JNI调用之间的VM对象
NDK在Android平台仅仅提供了有限的本地API和库文件的支持的系统头文件,然而一个标准的Android系统镜像包括许多本地共享库,这些都应该被考虑在更新和发行版本的可以彻底改变的实现细节
如果Android系统库没有明确的被NDK明确的支持,然后应用程序不应该依赖于它提供的,或者打破了将来在各种设备上的无线系统更新
选定的系统库将逐渐被添加到稳定的NDK API中。
3.NDK开发实践
下面将给出一个怎样用Android NDK开发本地代码的粗略的概述
(1) 把本地代码放在$PROJECT/jni/…下,比如将hello.c放到apps/hello/jni/目录下
(2) 在你的NDK编译系统中在$PROJECT/jni/Android.mk来描述你的源代码
(3) 可选:在$PROJECT/jni/Application.mk到你的编译系统中来详细描述你的项目,尽管你开始的话不一定需要它,但是它允许你使用更多的CPU或者覆盖编译器/链接器的标记
(4) 从你的项目的目录开始通过运行”$NDK/ndk-build”来编译你的代码,或者从子目录开始
(5) 最后一步可以,万一成功,剥离共享库的应用层序需要你的应用程序的项目根目录。然后你通过通常的方法来生成最终的apk。

安卓系统云空间里家人共享自定义是什么意思

意思是开启云空间共享后,家人将共享用户的存储空间。
家庭云是中国电信为家庭用户推出的,家庭共用的互联网云存储空间产品;家庭云可以将手机、电脑上的照片、视频汇聚在一起,实现手机上传照片、视频,家人打开电视就能看到。

④ android中java静态库和java共享库有什么区别

程序编制一般需经编辑、编译、链接、加载和运行几个步骤。在我们的应用中,有一些公共代码是需要反复使用,就把这些代码编译为“库”文件;在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中。这种库称为静态库,其特点是可执行文件中包含了库代码的一份完整拷贝;缺点就是被多次使用就会有多份冗余拷贝。

为了克服这个缺点可以采用动态链接库。这个时候链接器仅仅是在可执行文件中打上标志,说明需要使用哪些动态连接库;当运行程序时,加载器根据这些标志把所需的动态链接库加载到内存。

另外在当前的编程环境中,一般都提供方法让程序在运行的时候把某个特定的动态连接库加载并运行,也可以将其卸载(例如Win32的LoadLibrary()&FreeLibrary()和Posix的dlopen()&dlclose())。这个功能被广泛地用于在程序运行时刻更新某些功能模块或者是程序外观。

与普通程序不同的是,Java程序(class文件)并不是本地的可执行程序。当运行Java程序时,首先运行JVM(Java虚拟机),然后再把Java class加载到JVM里头运行,负责加载Java class的这部分就叫做Class Loader。通常class文件仅在需要使用时才加载。 这本身就是一种动态链接。
Java作为一种天生的动态链接语言,无法支持静态链接。但C语言的静态库除了静态链接的概念外,还隐含了一层意思,即库中的代码会打包到可执行文件中。JAVA中的JAR某种程度上类似一个可执行文件或库,借用C语言中静态库和动态库的概念,这里把最终会合并到生成的JAR文件中的JAR包叫静态库,反之仅仅在编译中使用,并不打包到生成的JAR包中,运行时需系统自行提供的JAR包叫动态库。
C的静态链接只把需要的代码复制过来,而Java用类似Fat Jar的方法,把所有的依赖库打包到最后的库中,眉毛胡子一把抓。这个问题可以用ProGuard解决,用它自己的话说是 It detects and removes unused classes, fields, methods, and attributes。

Eclipse中对JAR包的使用方式有两种,library和user libraries,其中library在工程中通过add jars...或add external jars...添加,出现在Referenced Libraries中,而user libraries需要在工作空间中管理,再在工程中通过add library...添加。这两种使用方式本身并没有静态库和动态库的区别,需要在打包或部署时再行指定。但user libraries的方式明显更方便管理多个工程共同使用的多个库,而系统库往往都有这种特性。
android的apk比JAR更类似可执行程序,而且因为标准库隐藏了很多功能,我们常常需要使用自己构建的系统库来编译。但android的ADT工具并没有提供是否将library或user libraries打包的选项。根据我的经验,ADT默认将library打包到apk中,而user libraries则仅用于编译,运行时再请求系统加载相关类。哪位同学有更明确的信息,还望指教,我短期内恐怕不会有时间去研究这个问题。
因此,可以这么说,在android中,library用来添加静态库,而user libraries用来管理动态库。千万不能弄错了,如果把静态库错误地加入动态库,运行时会出现找不到对应的class的错误,但因为Java语言的动态链接机制,只有运行到库中代码时才会出错;反之,如果把动态库做成了静态库,问题就更隐蔽了,可能只是dex文件特别大,而没有其它问题,也可能因加载了错误版本的系统代码,出现一些稀奇古怪的问题。慎之,慎之...
附:向eclispe中添加user Libraries的步骤:
1。点击eclipse的window菜单,选择“Preference”
2。在preferences窗口中选择java->User Libraries,然后点击窗口右边的New...按钮,在弹出的子窗口中输入user library的名称,此时在user libraries窗口中会出现新加的library名称。
3。向该user library中添加jar包。选中my_lib,然后点击Add JARS...按钮,选择你要添加的jar后,点击“打开”按钮,则my_lib库中就会出现你刚添加的jar文件信息。
4。最后点击窗口下的“OK”按钮,完成user library的添加和其jar的添加。

⑤ 什么是静态链接库什么是动态链接库他们有什么区别

  1. 静态库可以认为是一些目标代码的集合。按照习惯,一般以".a"做为文件后缀名。使用ar(archiver)命令可以创建静态库。因为共享库有着更大的优势,静态库已经不被经常使用。但静态库使用简单,仍有使用的余地,并会一直存在。
    静态库在应用程序生成时,可以不必再编译,节省再编译时间。但在编译器越来越快的今天,这一点似乎已不重要。如果其他开发人员要使用你的代码,而你又不想给其源码,提供静态库是一种选择。从理论上讲,应用程序使用了静态库,要比使用动态加载库速度快1-5%,但由于莫名的原因,实际上可能并非如此。由此看来,除了使用方便外,静态库可能并非一种好的选择。

  2. 共享库
    共享库是在程序启动时被装载。当一个应用程序装载了一个共享库后,其它应用程序仍可以装载同一个共享库。基于linux的使用方法,共享库还有其它灵活的而又精妙的特性:
    更新库并不影响应用程序使用旧的,非向后兼容的版本;在执行特定程序时,可以覆盖整个库或更新库中的特定函数;以上操作不会影响已经运行的程序,他们仍会使用已经装载的库。

⑥ Android中静态库和共享库的区别

简单来讲:
静态库是在连接阶段直接拷贝到代码中使用的,而共享库是由加载器加载到内存,在运行时使用的。
编译出来的静态库(这里指jar包)里每个java文件对应的class文件都单独存在,可以直接导入Eclipse等IDE使用
而编译出来的共享库(jar包),内部是Android字节码Dex格式的文件,一般无法导入Eclipse等IDE使用。Android.mk中由BUILD_JAVA_LIBRARY指定生成共享BUILD_STATIC_JAVA_LIBRARY指定生成静态库。

⑦ 安装安卓软件时提醒说没有该应用所需的共享库是怎么回事

共享库不存在或失效,是因为你所升级的软件与你手机的系统不兼容,必须装回以前那个版本,比如说你的软件升级到1.1版本出现了共享库不存在或失效,无法安装,你只要装回1.0版本的那个软件就可以了。

⑧ Android SO什么意思

您好,您可能指的是Android OS。
Android OS其实就是安卓操作系统的名字。Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。

如果您确定您问的是Android SO的话,下面给出解释。
Android SO是Android编程中用到的so类型的文件,是一个c++的函数库,在android的JNI中,是先将相应的C语言打包成so库导入到lib文件夹中调用的。
参考:网络。

⑨ android shared base是什么应用

安卓共享应用库 其汉语含义是:“(手机)安卓共享平台(库)”。
就是安卓共享平台。 Android共享库 是安卓的分享资料应用。

⑩ 什么是共享库,安装软件的时候说没有应用程序所需的共享库,是什么意思啊。HTC G13。

android底层也是linux系统,估计是这些软件用到的一些系统文件没有。如果一定要安装,可能需要先安装相应的库文件。或者也可能是没有某些硬件,导致缺少相应的库。如果是这种情况,这个软件就不能在你的手机上用了。例如它们可能要用到加速度传感器,而你的手机没有。

热点内容
柳工挖机密码多少合适 发布:2024-05-17 11:00:40 浏览:187
android工程叹号 发布:2024-05-17 10:56:21 浏览:480
在苹果手机应用怎么比安卓贵 发布:2024-05-17 10:56:20 浏览:547
赛欧313配置怎么样 发布:2024-05-17 10:43:16 浏览:988
c语言预算 发布:2024-05-17 10:43:16 浏览:492
推荐对称加密算法 发布:2024-05-17 10:43:15 浏览:822
有存储功能计算器 发布:2024-05-17 10:42:34 浏览:118
小米账号密码保险箱在哪里 发布:2024-05-17 10:17:00 浏览:752
抖音引流脚本推荐 发布:2024-05-17 10:11:16 浏览:724
sql数据库数据路径 发布:2024-05-17 10:00:25 浏览:132