androidstudio重復包
⑴ androidstudio編譯的時候報R.java類重復錯誤怎麼搞
androidstudio編譯的時候報R.java類重復錯誤
出現這個問題可能是在重構的時候出現了錯誤,只需找到java下的一個多餘的包刪除即可了。
⑵ android studio 重構包路徑
首先開發的工具得是android studio,eclipse自行跳過,很久沒用了。
比如我把原包路徑com.xxx.android 修改為com.test.android。win mac都可以,
只需2步就可輕松搞定:
1、在項目的文件系統裡面增加新包名的路徑,然後把舊包名的所有文件夾文件都拷貝到新包名目錄下,
2、接著去android studio,項目或者mole右鍵,點擊replace in path
然後把原包路徑和修改後的包路徑進行替換,項目不大的話估計幾分鍾內,如果比較大可能需要10幾分鍾,慢慢等它替換完畢。完畢後,運行項目,不報錯的話就說明OK 了,最後刪掉之前包名的文件目錄。當然同理,這個方法也可以替換全局字元串,再也不用一個一個的手動復制粘貼了。
⑶ 如何解決android studio多個library庫含有相同引用
在使用Android Studio開發的時候,如遇到多個項目引用同一個library(源碼)的情況時,會遇到在每個項目中都要有一套library的代碼的情況,對於還在開發和維護中的Library需要頻繁的修改,這對同步就很麻煩,為了解決這個問題,出現了下面的解決方案。
首先:新建一個類庫工程,工程名為AppLibs.Dev。
完成如上圖所示以後,表示類庫工程已經被APP工程引用進去了,這樣以後再修改類庫工程中的源碼,其他引用該類庫的工程中源碼也就同步修改了。
⑷ android studio怎麼查看重復包屬於哪個mole
方法/步驟 最新版的Android studio已經可以完全刪除項目了, 1.點擊File——Project Structure 2.在Project Structure頁面,選中要刪除的項目,點擊上面的減號圖標。 3.彈出「Remove Mole」的彈框,點擊Yes,然後ok。可以看看安卓巴士的教程:http://www.apkbus.com/thread-464970-1-1.html
⑸ android當我導入的2個庫中jar重復怎麼辦
如果是用eclipse開發的話,直接把JAR包到libs文件夾下,就可以了,如果用Android studio開發的話,先把JAR包到libs下,然後選中JAR包,右擊,選擇 add as a library後,就可以使用JAR包了。
⑹ 如何解決 Android Studio 上遠程依賴包重復的問題
當然了,我只是舉了一個極端的例子,不會經常發生如上的例子,但是這個錯誤確實很常見。
如果,就像例子中那樣做,你去編譯運行項目時,這時,你就會看到一個錯誤,大約如下意思:
Error:Execution failed for task 『:app:』.
com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Lcom/google/zxing/BarcodeFormat;
⑺ androidstudio怎麼避免包重復
新建包名時候是依次向後面建,這樣避免重復,當然,同級目錄要求不能一樣的名字
⑻ 請教如何使用android studio同時打包多個apk
問題:項目中不同的分發渠道可能需要打包多種APK(同樣的代碼),包名可能是不一樣的,如果一個一個修改包名重新編apk是很麻煩,可以參考下列步驟在Android Studio上操縱Gradle來打包不同包名的apk。
這里例子的目標是,同樣的代碼,打包成com.example.android.newsreader和com.example.android.newsreaderdev兩個不同包名的apk
1. 首先在build.gradle的android節點中加入下列代碼
proctFlavors{
flavors_release{
manifestPlaceholders = [str:"releaseStr",package_name:"com.example.android.newsreader"]
applicationId "com.example.android.newsreader"
}
flavors_dev{
manifestPlaceholders = [str:"devStr",package_name:"com.example.android.newsreaderdev"]
applicationId "com.example.android.newsreaderdev"
}
}
這個proctFlavors的功能即為打包的參數化而提供的,flavors_release和flavors_dev可以被視作自己定義的兩套變數集,實際操作中可以自定義
注意到這里有一個manifestPlaceholders的參數,裡面提供的實際上是幾個參數變數和值,這里的參數都可以通過${name}的方式在AndroidManifest.xml中使用。原來是想在AndroidManifest中的manifest的節點將package給參數化來達到打不同包名的apk的目的,即:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="${package_name}"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="11" android:targetSdkVersion="14" />
...
結果Android Studio的Lint自動給了我一個提示:
說明Android Studio推薦我採用設置applicationId的方式來將包名參數化
於是乎,我在flavors_release和flavors_dev中又加入了applicationId的設置,即:
和
下面看看是否有作用
2.這一步需要操縱Gradle面板
此時我們在Android Studio的右側的gradle面板中點擊按鈕刷新下,於是在build子欄目中出現下列東西:
其中以assemble*打頭的都是生成apk的選項,生成的apk在build/outputs/apk中,這里我們對任一項雙擊即可生成對應的apk
對應flavors_release和flavors_dev的apk應該就是和這兩個,於是分別雙擊他們等待各自生成apk的過程
3. 下面查看Project面板中的內容
打開project面板,我們發現真的出現了幾個apk:
可以看出來每次雙擊gradle中的一條會生成三個apk,我們把newsreader-flavors_dev-debug.apk和newsreader-flavors_release-debug.apk拿出來,用aapt命令查看下他們的包名(命令為aapt mp badging {filename.apk})
果然,包名是不一樣的。
那麼是否可以同時安裝呢,這里把兩個apk都安裝到模擬器中,果然是可以的:
可以看到出現了兩個NewsReader,其實都是一模一樣的,只是包名不同
4. 如何在打包的時候指定簽名
在Android Studio菜單欄進入Build->Generate Signed Apk:
指定你的keystore後點擊next:
這里會發現在Flavors裡面有兩個項目,即我們在gradle裡面配置上的兩個flavors參數集,各自選上,點擊finish即可生成所需要的apk
5. 有個疑問,為什麼修改applicationId即可修改包名呢?applicationID和packagename到底是什麼關系
實際上, package 代表了 java 代碼中的包名。 applicationId 代表了應用中的唯一標識。和應用簽名一起用來區別和其他應用不同。我想這也就是為什麼 Google 市場能夠允許相同應用不同 applicationId 的原因。
最後一個提示: 打包出來後,發布前最好要全面測試下,以免出現問題
⑼ android studio安裝多次文件重復該怎麼解決
解決android studio安裝多次文件重復
工具
Android Studio
JDK 1.7+
方法
關掉android studio的進程,打開安裝目錄的bin目錄下的idea.properties文件,
在末尾添加一條禁用開始運行向導的配置項:disable.android.first.run=true