一個月前我已將項目移至Android Studio,儘管需要切換至新的(功能更強大的)構建系統(gradle),但我很高興自己能做到。有一件事我在Eclipse中已經知道,但我無法弄清楚現在如何實現,正在修補支持庫。我知道這聽起來不是一個好習慣,但是一些代碼行讓我發瘋,而解決方法就是簡單地修改它來解決我的問題。
我試圖修改sdk的「。\ extras \ android \ m2repository \ com \ android \ support」目錄中的代碼,但這似乎並沒有影響真正用於編譯的代碼。
有關如何實現這一點的任何想法?使用Android Studio的補丁支持庫
編輯:
我想在我的項目,以創建一個模塊「SupportLibraryV4」,而這正是gradle這個告訴我,當我嘗試建立它:
Error Code:
1
Output:
trouble processing "java/android/support/v4/R$anim.class":
Ill-advised or mistaken usage of a core class (java.* or javax.*)
when not building a core library.
This is often due to inadvertently including a core library file
in your application's project, when using an IDE (such as
Eclipse). If you are sure you're not intentionally defining a
core class, then this is the most likely explanation of what's
going on.
However, you might actually be trying to define a class in a core
namespace, the source of which you may have taken, for example,
from a non-Android virtual machine project. This will most
assuredly not work. At a minimum, it jeopardizes the
compatibility of your app with future versions of the platform.
It is also often of questionable legality.
If you really intend to build a core library -- which is only
appropriate as part of creating a full virtual machine
distribution, as opposed to compiling an application -- then use
the "--core-library" option to suppress this error message.
If you go ahead and use "--core-library" but are in fact
building an application, then be forewarned that your application
will still fail to build or run, at some point. Please be
prepared for angry customers who find, for example, that your
application ceases to function once they upgrade their operating
system. You will be to blame for this problem.
If you are legitimately using some code that happens to be in a
core package, then the easiest safe alternative you have is to
repackage that code. That is, move the classes in question into
your own package namespace. This means that they will never be in
conflict with core system classes. JarJar is a tool that may help
you in this endeavor. If you find that you cannot do this, then
that is an indication that the path you are on will ultimately
lead to pain, suffering, grief, and lamentation.
1 error; aborting
令人印象深刻!
你必須導入支持庫項目(從:「ANDROIDSDKPATH \ extras \ android \ support \ v4 \ src」)作爲模塊到你的項目並替換'compile'com.android.support:support-v4:19.0.0 ''用'編譯項目(「:NameOfSupportModule」)'在你的「主」模塊的build.gradle – Selvin
thx Selvin =)你可以把你的答案作爲答案(而不是評論)嗎?這樣我可以「驗證」它或評論它...... btw,我有一個問題,導入庫build.gradle: 無法執行使用Gradle分佈的構建'http://services.gradle.org/distributions/gradle- 1.9-rc-3-bin.zip」。 構建文件'C:\ Users \ zgui \ AppData \ Local \ Android \ android-studio \ sdk \ extras \ android \ support \ v4 \ src \ build.gradle'line:21 評估根項目'src' 。 評估根項目'src'時發生問題。 無法在根項目'src'的參數[5]中找到方法getAndroidPrebuilt()。 – elgui
我做了一些測試,嗯,這是無效的答案... – Selvin