mac下的Androidstudio,針對廠家定制設備開發時,使用設備廠家提供的framework.jar包,無法完成編譯和打包
倒是可以引入fremawork.jar包,然后開發時呼叫隱藏介面,也不會報錯,但是無法真機除錯與打包安裝包
我已經試過了androidstudio官網的全部穩定版本,從2.3.2到4.1,全都無法完成編譯和打包
windows下的Androidstudio,是可以的。
步驟如下:
1、修改progect下的build.gradle,將
allprojects {
repositories {
google()
jcenter()
}
}
改為
allprojects {
repositories {
google()
jcenter()
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs.add('-Xbootclasspath/p:app\\libs\\framework.jar')
}
}
}
}
2、修改app下的build.gradle,將
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
}
改為
dependencies {
compileOnly files('libs/framework.jar')
}
并追加如下代碼
preBuild {
doLast {
def imlFile = file(project.name + ".iml")
println('Change ' + project.name + '.iml order')
try {
def parsedXml = (new XmlParser()).parse(imlFile)
def jdkNode = parsedXml.component[1].orderEntry.find { it.'@type' == 'jdk' }
parsedXml.component[1].remove(jdkNode)
def sdkString = "Android API " + android.compileSdkVersion.substring("android-".length()) + " Platform"
new groovy.util.Node(parsedXml.component[1], 'orderEntry', ['type': 'jdk', 'jdkName': sdkString, 'jdkType': 'Android SDK'])
groovy.xml.XmlUtil.serialize(parsedXml, new FileOutputStream(imlFile))
} catch (FileNotFoundException e) {
// nop, iml not found
}
}
}
通過以上步驟,windows端的Androidstudio已可正常使用廠商的framework.jar進行開發。
但mac端的Androidstudio只是不爆紅,能呼叫framework隱藏的方法,無法完成編譯和打包。
求助各位高手,提供一些解決思路,謝謝
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/200409.html
標籤:Android
