日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

(原创)开发使用Android studio所遇到的一些问题总结

發布時間:2024/1/1 Android 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (原创)开发使用Android studio所遇到的一些问题总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.Android studio下載鏈接地址(無需翻墻):包含先行版和正式版(推薦使用正式版bug少)

? ?http://www.androiddevtools.cn/

2.第一次安裝避免成功先不要急著打開應用,先取消打開,到安裝目錄下/bin/idea.properties文件打開在最后面添加

? disable.android.first.run=true ?并后面多一行回車即可,再重新打開AS即可避免第一次去聯網請求更新



3.導入eclipse項目:例如本人需要導入D:\workspace\eclipse\test一個test項目方式


選擇需要導入的項目:(要是有依賴jar也是直接選中導入主項目即可);點擊OK進入下一步


選擇存放的工程項目目錄位置:


下一步:默認即可


finish即可完成導入,是不是so easy!

導入成功后:需要類似eclipse視圖方式需要切換


選擇project即可


看到手機圖標么有,這就說明你項目可以正常運行了



下面講解下關于gradle編譯相關出錯地方和怎么選擇你自己本地的gradle編譯版本

首先:一般情況下都要將gradle設置為離線不去更新,這可能涉及到需要翻墻去尋找就會導致項目卡住在那里一直編譯;修改如下設置

1.點擊扳手圖標---setting


搜索gradle按如下設置


如何選擇本地gradle:上面圖的第一個紅圈選項既是選擇本地gradle點擊后面的...彈出框選擇AS安裝目錄下/gradle相應版本即可如圖



2.關于導入別人項目導致本地的gradle與其不一致無法編譯通過(也就是編譯報錯問題)解決

首先:需要修改編譯gradle下的壓縮包路徑,查看本地版本方式:D:\Program\android-studio\gradle



3.關于項目整體gradle編譯工具版本修改,查看方式:D:\Program\android-studio\gradle\m2repository\com\android\tools\build\gradle


對應項目中的版本:注意是最外層gradle


4.對于單個項目或者jar依賴包的節點下的各個gradle創建工具版本號,查看方式:


基本修改完這些項目都是可以正常運行了!!!


以下為開發過程的其他AS報錯的整理:

1.出現非法字符:將所有報錯的文件找到該文件將其格式設置為UTF-8無BOM
如:
D:\workspace\studiojob\DadaDriver\dadaDriver\src\main\java\com\newdadadriver\utils\ChannelUtil.java
Error:(1, 1) 錯誤: 非法字符: \65279
Error:(1, 10) 錯誤: 需要class, interface或enum

2.Project Sync
? ? ? ? ?The project 'DadaDriver' is not a Gradle-based project
? ? ? ? ?More Information about migrating to Gradle
? gradle源文件缺失問題;重新import工程即可

3.AssertionError: platform-tools doesn't match platform-tools-preview
編譯問題;刷新即可

4.最低版本報錯:更改更高版本號?
? ? ?Error:(5, 5) uses-sdk:minSdkVersion 5 cannot be smaller than version 8 declared in library?
D:\workspace\studiojob\DadaDriver\slidingMenu_library\build\intermediates\exploded-aar\DadaDriver\androidSupportLib\unspecified\AndroidManifest.xml

5.運行項目出現:按提示添加相應的代碼到build.gradle的Android下即可
Error:duplicate files during packaging of APK D:\workspace\studiojob\DadaDriver\dadaDriver\build\outputs\apk\dadaDriver-debug-unaligned.apk
Path in archive: META-INF/LICENSE.txt
Origin 1: D:\workspace\studiojob\DadaDriver\dadaDriver\libs\httpmime-4.2.4.jar
Origin 2: D:\workspace\studiojob\DadaDriver\dadaDriver\libs\fastjson.jar
You can ignore those files in your build.gradle:
android {
? packagingOptions {
? exclude 'META-INF/LICENSE.txt'
? ? ? ? ? ? exclude 'META-INF/NOTICE.txt'
? }
}


6.模擬器出現空白,無法正常顯示,原因:沒有對應可以顯示布局版本,調低即可org.jetbrains.android.uipreview.RenderingException:Failed to load the LayoutLib: com/android/layoutlib/bridge/Bridge : Unsupportedmajor.minor version 52.0

at org.jetbrains.android.uipreview.LayoutLibraryLoader.load(LayoutLibraryLoader.java:90)

atorg.jetbrains.android.sdk.AndroidTargetData.getLayoutLibrary(AndroidTargetData.java:180)

atcom.android.tools.idea.rendering.RenderService.createTask(RenderService.java:164)



以上是本人暫時遇到整理的問題,后續有發現其他還會添加!


7. Apk的簽名混淆打包

7-1. 創建簽名文件keystore



7-2. 簽名apk




可以代碼直接在build.gradle里面編寫

android {signingConfigs {// 簽名config {keyAlias 'test'keyPassword '123456'storeFile file('H:/zhou/keystore.jks')storePassword '123456'}}compileSdkVersion 24buildToolsVersion "24.0.1"defaultConfig {applicationId "com.vsoontech.p2p.sample"minSdkVersion 15targetSdkVersion 24versionCode 1versionName "1.0"}//執行lint檢查,有任何的錯誤或者警告提示,都會終止構建lintOptions {abortOnError false}buildTypes {debug {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}release {minifyEnabled true // 混淆zipAlignEnabled trueshrinkResources trueproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'signingConfig signingConfigs.config // 使用簽名}}productFlavors {} }

7-2. 混淆

只要是proguard-rules.pro文件配置

# 指定代碼的壓縮級別 -optimizationpasses 5# 包名不混合大小寫 -dontusemixedcaseclassnames# 不去忽略非公共的庫類 -dontskipnonpubliclibraryclasses# 優化 不優化輸入的類文件 -dontoptimize# 預校驗 -dontpreverify# 混淆時是否記錄日志 -verbose# 混淆時所采用的算法 -optimizations !code/simplification/arithmetic,!field/*,!class/merging/*# 保護注解 -keepattributes *Annotation*# 保持哪些類不被混淆 -keep class com.vsoontech.p2p.** {*;} -keep class com.linkin.base.** {*;}# 如果有引用v4包可以添加下面這行 -keep public class * extends android.support.v4.app.Fragment# 忽略警告 -ignorewarning# 如果引用了v4或者v7包 -dontwarn android.support.**# 保持 native 方法不被混淆 -keepclasseswithmembernames class * {native <methods>; }# 保持自定義控件類不被混淆 -keepclasseswithmembers class * {public <init>(android.content.Context, android.util.AttributeSet); }# 保持 Parcelable 不被混淆 -keep class * implements android.os.Parcelable {public static final android.os.Parcelable$Creator *; }# 保持枚舉 enum 類不被混淆 -keepclassmembers enum * {public static **[] values();public static ** valueOf(java.lang.String); }

總結

以上是生活随笔為你收集整理的(原创)开发使用Android studio所遇到的一些问题总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。