A. 一个简单的android权限获取的jar包
使用方法:
将jar包导入到Android工程的libs目录下:
新建一个Activity在onCreate中构建需要校验的权限:
方法:RpConfig 是用来构建需要校验的权限的参数以及传入当前的activity。
参数构建完成后开始调用权限申请的方法:
使用上面的方法传入构建的参数rpConfig,后面的方法是权限获取的回调方法:
ToNext:表示当前权限已经获取成功可以进行下一步操作,比如执行某个需要权限的方法或者是跳转到另外一个activity。
Failed:方法表示权限获取失败,在返回的object中包含了位获取的权限有哪些。
下面是最后一步:
在当前调用权限的activity中加入一下回调方法:
这个是权限获取情况回调的方法,必须加入不然没有权限的回调。
【分享 】提取码:xeyu
B. 如何将AndroidStudio项目打包成jar包并使用
成功后:
在需要使用的工程中,添加jar包到libs目录中,右击 Add as Library 即可
可以看到这边可以正常使用之前创建的加法运算了
在创建jar的同时会生成一个 arr包 ,同样也可以使用
C. android系统编译jar包给app使用
最近在android O编译系统jar包给应用使用遇到了点问题,网上也没有找到解决方案,这里记录下。
编译方法参考网上博客就可以, android源码编译jar包
最终生成了javalib.jar,改名为 tvManager.jar即可。注意:如果没有指定LACAL_JACK_ENABLED选项,则默认是enabled,将会生成classes.jack文件,不会产生classes.jar包!
正常按照上面方案就可以编译出jar包,导入到AS里面就可以使用,下面说下我遇到的问题
遇到classes.jar.toc被依赖, 但是怎么编译都没有编译出来,网上也没有找到对应的方法,编译错误如下:
https://www.cnblogs.com/wangqiang9/p/9679466.html
https://stackoverflow.com/questions/43471694/how-to-generate-classes-dex-toc-files
D. 如何制作Jar包并在android中调用jar包
千锋扣丁学堂Android开发学习为您解答:
jar包有两种,一种是纯粹的库功能,没有main入口函数,故无法直接执行;一种是包含main的可执行包!
如有hello/hello.java文件:
$ cd hello/$ javac hello.java$ java Hello (Hello为类名,如果Hello类具有main函数的话,可以这么执行)
第一种jar包命令:
jar cvf hello.jar hello
或者
$ jar cvf hello.jar hello/*.class
通过如下命令查看两个jar的内容:
$ jar tf hello.jarMETA-INF/META-INF/MANIFEST.MFhello/hello/hello.class
显示结果是一样的。
对于第二种可执行jar包,方法其实可以跟第一种一样,然后再修改MANIFEST.MF文件。
在MANIFEST.MF文件中只需要添加一行:
Main-Class: 可执行主类全名(即包含main函数的类名称)
即可。
但也可以预先创建MANIFEST.MF文件,内容跟上面一样,让该文件与hello目录保持在同一级,然后:
$ jar cvfm hello.jar MANIFEST.MF hello
然后就可以通过:
$ java -jar hello.jar
运行了。
===================
在实际项目中,可能需要很多个类文件,建议每个类文件均放到一个独立的文件之中,文件名与该类名应一致,类的声明为“public class xxx”(当然也可以将很多个类放到同一个文件中,但只有一个类能声明成public(即与文件名一致的那个类),这将导致其它未声明为public的类 无法为其它程序调用)。
比如有两个位于同一目录的类文件(它们之间有调用关系),将会被打包成sp_sdk.jar作为库文件使用,文件目录关系如下:
$ ls -l sp/android/printer-rw-r--r-- 1 zwang zwang 944 2011-06-25 17:52 FontProperty.class-rw-r--r-- 1 zwang zwang 1319 2011-06-25 17:51 FontProperty.java-rw-r--r-- 1 zwang zwang 5498 2011-06-25 17:53 PrintGraphics.class-rw-r--r-- 1 zwang zwang 5751 2011-06-25 17:51 PrintGraphics.java
各个java文件的开头需要声明如下(否则其它文件无法import这两个类):
package sp.android.printer;
然后编译命令是:
$ javac sp/android/printer/FontProperty.java $ javac sp/android/printer/PrintGraphics.java
注意编译的位置,因为各自已经声明了“package sp.android.printer;”,所以直接进入到sp/android/printer/目录下是编译不过的。
然后生成jar文件:
$ tar cvf sp_sdk.jar sp
然后就可以创建测试程序调用该库了(测试程序里面就可以“import sp.android.printer.*”了)。
假如测试程序test.java与sp_sdk.jar同一目录,编译及运行命令:
$ javac test.java$ java Test
如果不在同一目录,编译及运行命令:
$ javac -classpath .:/path/to/sp_sdk.jar test.java$ java -cp .:/path/to/sp_sdk.jar Test