導航:首頁 > 操作系統 > androidclassesjar

androidclassesjar

發布時間:2023-02-15 07:03:08

android 集成三方SDK編譯時classes.jar文件沖突

這幾天的任務是將mapbox的工程合到程序中去,但是合並過程卻出現了問題
合並方法:在app的build.gradle中添加
dependencies {
compile ('com.mapbox.mapboxsdk:mapbox-android-sdk:0.7.4@aar'){
transitive=true
}
}
但是合並後會報錯:
Error:Execution failed for task ':app:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Library/java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java'' finished with non-zero exit value 2
這個錯誤是由於jar包沖突,解決方法如下:
方法一:找到沖突包,將沖突包刪除,一般沖突包為'com.android.support:appcompat-v7:22.2.0'或者'com.android.support:support-v4:22.2.0',但是我刪除沖突包後,依然報錯,於是使用方法二
方法二:因為我的沖突包是'com.android.support:support-v4:22.2.0',所以找到項目根目錄-build-intermediates-dex-cache-cache.xml文件,將其中跟v4有關的全部刪除,然後clean project,然後將compile改為provided如下:
dependencies {
compile 'com.vividsolutions:jts:1.13'
compile 'com.squareup.okhttp:okhttp:2.4.0'
compile 'com.squareup.okhttp:okhttp-urlconnection:2.4.0'
compile 'com.nineoldandroids:library:2.4.0'
compile 'com.jakewharton:disklrucache:2.0.2'
provided 'com.android.support:support-v4:21.0.0'
}

⑵ 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

⑶ Android Studio 3.5導入AOSP編譯的classes.jar

一、適用場景

    我們在寫應用時可能會需要調用系統隱藏的API,這些API是我們無法直接訪問的,報如下錯誤:

 此時,我們需要將系統AOSP的out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar導入到Android Studio中,使app能夠訪問這些介面。

二、實現步驟

Step1 . 在app目錄下建立libs文件夾,並將classes.jar包放入該路徑

Step2 .在app目錄上右鍵【Open Mole Settings】,點擊左側【Dependencies】,選擇app,點擊【+】選擇【2 Jar Dependency】,添加

選擇我們的libs/classes.jar,點擊【OK】

Step3 .在Mole的build.gradle中,dependencies自動增加依賴配置,注釋掉下面一行

implementation fileTree(dir: 'libs', include: ['*.jar'])  

並將implementation files('libs/classes.jar')改為

compileOnly files('libs/classes.jar')

最終如下圖所示

Step4 .修改Project的build.gradle,在allProjects中增加如下語句

    gradle.projectsEvaluated {

        tasks.withType(JavaCompile) {

            options.compilerArgs.add('-Xbootclasspath/p:app\\libs\\classes.jar')

        }

    }

Step5 .修改jar包優先順序,在Moels的app.iml文件中找到我們的classes.jar包所在行,

<orderEntry type="library" name="Gradle: __local_aars__:/Users/mrwong/AndroidStudioProjects/uart_daemon/app/libs/classes.jar:unspecified@jar" level="project" />

將其移動到

<orderEntry type="jdk" jdkName="Android API 29 Platform" jdkType="Android SDK" />

這一行之上,最終如下圖所示:

至此,app可以優先訪問我們自己的jar包 。

⑷ android APK中的classes.dex反編譯成jar怎麼無法運行。

Android 是 .apk 文件
網上有反編譯的軟體 可以反編譯成源代碼,你可以去網上找找,我用的是 jd-gui-0.3.3
但是,一般來說 程序員在 開發完成後都會混淆打包,即使是反編譯出來,也會有很多 abcdefg,,,, 表示的亂碼
有的軟體 沒混淆 就可以得到源碼,但是這樣的軟體 一般都能在網上找到開源的相關的代碼
祝你成功 !

閱讀全文

與androidclassesjar相關的資料

熱點內容
pubg為什麼顯示伺服器連接失敗 瀏覽:650
阿里雲掃碼登錄伺服器 瀏覽:970
化學基礎pdf 瀏覽:896
51單片機晶碼管 瀏覽:281
怎麼查伺服器假死原因日誌在哪看 瀏覽:277
掃描pdf文件 瀏覽:926
解壓密碼百度雲在線解壓 瀏覽:767
傳播學演算法推薦 瀏覽:749
我的世界網路游戲如何查找伺服器 瀏覽:257
安卓和蘋果通訊錄怎麼互傳 瀏覽:203
怎麼打開隱私與應用加密的菜單 瀏覽:416
我的世界伺服器小游戲的地址大全 瀏覽:578
在網路安全中加密安全機制提供了數據的 瀏覽:249
南京前端程序員私活怎麼收費 瀏覽:981
拓撲pdf 瀏覽:440
如何在工行app查我的訂單 瀏覽:214
車壓縮機改電動 瀏覽:83
如何尋找音樂app 瀏覽:831
一加加密的照片 瀏覽:200
阿里雲虛擬主機php 瀏覽:639