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