① android studio怎麼添加jar包
1、新建Android項目,添加一個第三方已經打包好的jar文件進項目,下面就已添加一個odata4j的一個包
6、這樣就完成了jar文件添加
② 怎樣在android studio中打jar包
方法/步驟
1,點擊啟動AndroidStudio,啟動後的界面如圖所示。
2,復制你需要添加的jar,並將其黏貼到app— —src— —main— —libs文件夾下,可運行的AndroidStudio項目都有像這樣的目錄結構。可以看到雖然jar已經復制黏貼過來了,但是還未導入,所以看不到jar中包含的內容。而已導入的jar,則可以看到jar中內容。
3,右鍵點擊新黏貼的jar,在彈出菜單中點擊Add As Library.
4,選擇你要導入到的那個mole(在AndroidStudio中相當於Eclipse中的project),如果當前只是一個項目,下拉框中除了app也沒有其他的內容,那麼直接點擊ok確認。
5,這樣jar就被添加到項目中來了。
注意事項
AndroidStudio中導入jar與Eclipse中不一樣,而且更簡單。
③ android studio java工程怎麼生成jar包
用jar命令就可以打包你所需要的資源,並指定jar包名。
在網上下載Volley源代碼,導出jar包為例子。
在一個Android-Library項目工程中,我修改了下他的gradle版本,改為0.12+
再導入Volley工程的時候,我選擇的是推薦的Gradle Wrapper,它的作用是使我們在Unix,windows平台
下實現兼容。我用的是windows,所以先到達Volley的根目錄,Volley我下載到E:\下
cd e:\Volley
接著輸入命令:
gradlew clean build
就會看到Volley目錄下有一個build文件夾,在 build/intermediates/classes/release下,我們可以看到Java文件生成的class文件,我們只要用jar打包這個文件夾就可以了
輸入下面的命令,記得最後一個是'.',前面有空格。
jar cvf volley.jar -C build/intermediates/classes/release .
我暫時也只弄懂了這點 還是在課棧教育學的
④ androidstudio怎麼將寫好的so文件工程打包成jar包
Android Studio的so庫導入和Eclipse的方式有些不同。在Android Studio中,要在工程的src/main下面新建一個jniLibs文件夾,然後將所用到的第三方so庫復制進來,然後找到Project下的build.gradle文件,在其中添加以下幾行代碼:
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
task nativeLibsToJar(type: Zip, description: "create a jar archive of the native libs") {
destinationDir file("$projectDir/libs")
baseName "Native_Libs2"
extension "jar"
from fileTree(dir: "libs", include: "**/*.so")
into "lib"
}
然後重新Gradle一下代碼,第三方so庫就加了進來。
參考http://www.cnblogs.com/devpan/p/5536238.html
⑤ 如何使用Android Studio打包混淆的Jar
使用AS打包混淆Jar包,網路一下,一片一片的,但是很多都是零零散散的寫得不是很詳細或是直接拷貝,按照他們的教程測試總不是很順利,所以這里我就把我個人學習AS打包混淆Jar的成果總結出來,希望對大家有幫助。個人覺得寫得還是比較詳細的
使用gradle混淆打包Jar
使用AS開發項目,引入第三方庫是非常方便的,我們只需要在build.gradle中配置一行代碼就可以輕松引入我們需要的開發庫。那麼gradle可以幫我們混淆打包Jar嗎?答案是當然可以!
那麼我們如何打包Jar呢?其實我們在編譯項目的時候,AS已經幫我們在目錄build/intermediates/bundles/release/classes.jar打好了Jar。那麼我們需要做的就是把Jar進行混淆的工作了。這里以個人項目bannerDemo為例,混淆步驟如下:
在你的library的build.gradle文件中加入如下代碼:
task makeJar(type: proguard.gradle.ProGuardTask, dependsOn: "build") {
// 未混淆的jar路徑
injars 'build/intermediates/bundles/release/classes.jar'
// 混淆後的jar輸出路徑
outjars 'build/outputs/cocolove2-banner-1.1.0.jar'
// 混淆協議
configuration 'proguard-rules.pro'}
配置混淆協議
1.我們先把AS自帶的協議配置進來中文注釋,筆者添加
# This is a configuration file for ProGuard.# http://proguard.sourceforge.net/index.html#manual/usage.html## Starting with version 2.2 of the Android plugin for Gradle, these files are no longer used. Newer# versions are distributed with the plugin and unpacked at build time. Files in this directory are# no longer maintained.#表示混淆時不使用大小寫混合類名-dontusemixedcaseclassnames#表示不跳過library中的非public的類-#列印混淆的詳細信息-verbose# Optimization is turned off by default. Dex does not like code run# through the ProGuard optimize and preverify steps (and performs some# of these optimizations on its own).-dontoptimize##表示不進行校驗,這個校驗作用 在java平台上的-dontpreverify# Note that if you want to enable optimization, you cannot just# include optimization flags in your own project configuration file;# instead you will need to point to the# "proguard-android-optimize.txt" file instead of this one from your# project.properties file.-keepattributes *Annotation*
-keep public class com.google.vending.licensing.ILicensingService-keep public class com.android.vending.licensing.ILicensingService# For native methods, see http://proguard.sourceforge.net/manual/examples.html#native-keepclasseswithmembernames class * {
native <methods>;
}# keep setters in Views so that animations can still work.# see http://proguard.sourceforge.net/manual/examples.html#beans-keepclassmembers public class * extends android.view.View {
void set*(***);
*** get*();
}# We want to keep methods in Activity that could be used in the XML attribute onClick-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}# For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keepclassmembers class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator CREATOR;
}
-keepclassmembers class **.R$* {
public static <fields>;
}# The support library contains references to newer platform versions.# Don't warn about those in case this app is linking against an older# platform version. We know about them, and they are safe.-dontwarn android.support.**# Understand the @Keep support annotation.-keep class android.support.annotation.Keep-keep @android.support.annotation.Keep class * {*;}-keepclasseswithmembers class * {
@android.support.annotation.Keep <methods>;
}
-keepclasseswithmembers class * {
@android.support.annotation.Keep <fields>;
}
-keepclasseswithmembers class * {
@android.support.annotation.Keep <init>(...);
}
2.AS自帶的配置文檔還是不夠的,我們還需要加入如下配置
這里只展示基本操作,在實際開發中可能需要更多依賴,要根據具體情況引入自己需要的依賴包
#下面代碼中的xx是指我個人的配置路徑,涉及個人信息,這里以xx代替
#引入依賴包rt.jar(jdk路徑)
-libraryjars /xxx/xx/xx/jdk1.8.0_77.jdk/Contents/Home/jre/lib/rt.jar
#引入依賴包android.jar(android SDK路徑)
-libraryjars /xx/xx/xx/Android/sdk/platforms/android-24/android.jar
#如果用到Appcompat包,需要引入
-libraryjars /xxx/xxx/xx/xxx/MyApplication/library-banner/build/intermediates/exploded-aar/com.android.support/appcompat-v7/24.1.1/jars/classes.jar
-libraryjars /xx/xx/xx/xx/MyApplication/library-banner/build/intermediates/exploded-aar/com.android.support/support-v4/24.1.1/jars/classes.jar
#忽略警告
-ignorewarnings
#保證是獨立的jar,沒有任何項目引用,如果不寫就會認為我們所有的代碼是無用的,從而把所有的代碼壓縮掉,導出一個空的jar
-dontshrink
#保護泛型
-keepattributes Signature
3.加入自己不想混淆的配置根據實際需求配置
-keep class com.cocolove2.library_banner.view.**{*;}
在命令行執行命令混淆Jar,提示BUILD SUCCESFUL表示成功!
//mac./gradlew makeJar//windowsgradlew makeJar
示例展示
我這里以混淆library-banner庫為例
1.首先我們要看看下我們的buildTool的配置,如下圖:
混淆報錯解決辦法個人遇到的
proguard5.2.1下載地址
閱讀
⑥ 如何將AndroidStudio項目打包成jar包並使用
成功後:
在需要使用的工程中,添加jar包到libs目錄中,右擊 Add as Library 即可
可以看到這邊可以正常使用之前創建的加法運算了
在創建jar的同時會生成一個 arr包 ,同樣也可以使用
⑦ AndroidStudio 打包生成Jar包
在開發當中,有一些功能我們是不依賴任何Res 資源的,這個時候我們就可以直接提供業務方jar 包,以避免當中出現一些冗餘資源如AAR。下面就 AndroidStudio 3.5.2 版本生成jar 包方式作出筆記。
新建model 就不在此過多贅述。該model是Library 而不是 application。
大家注意 from('build/intermediates/packaged-classes/release/') 這個是 3.+ 版本是這樣。2.3 版本呢就不在是該目錄了。這也是在實際測時當中遇到的錯誤問題。
最終執行 makeJar gradle 任務即可,生成jar 包。