記錄安卓學習遇到的坑
Android Studio
1.下載Android studio時預設安裝即可,不需要把AVD也裝上
2.在新增第一個專案時,會報一個28.0.2的錯誤資訊,由於安卓版本資訊不同,會報不同的版本資訊。意思就是SDK沒有下載完全,去SDK Manager把對應的版本再在完全就好了,中途不要最小化視窗。
3.在建立AVD時,要建立x86的
4.在家裡只要上面3步就可以執行Hello World了,但是在公司的電腦卻報了一個錯誤 Unable to resolve dependency for ':[email protected]/compileClasspath': Could not resolve junit:junit:4.12.。
解決辦法就是這個
5.安裝Genymotion模擬器
- 下載並安裝完Genymotion和VirtualBox
- 在Android Studio的`File->Settings->Pulgins裡面搜尋Genymotion,找到Genymotion項,右擊,下載並安裝。
- 重啟Android Studio,如果在工具欄未顯示Genymotion模擬器,則點選`View->ToolBar,然後就會顯示了。
- 點選Genymotion選項,建立模擬器,需要登入。
- 注意,Genymotion裡面只有安卓
6.當app執行時出現Activity class {} does not exist.Error while Launching activity.
- 用adb uninstall com.xx.xxx(包名)
- 但是要注意adb的路徑如果沒有新增到環境變數時,要使用絕對路徑
android框架
1.TextView
- TextView.setText(),可以改變在xml檔案中設定的值
- 引數中只能用字串,用int也可以,但是這個int並不表示一個數據,而是一種標識。所以用int執行app會閃退。
- 可以用String.ValueOf(int)
2.出現read timed out
-
repositories { google() mavenCentral() maven{ url 'https://maven.google.com' } jcenter() }
兩個repositories都是這樣
3.在自己生成庫的時候出現,undefined reference to '__android_log_print'
-
沒有將日誌庫整合到我們自己的庫
-
#include <Android/log.h>
-
target_link_libraries(my.lib ${log-lib})就可以了
4.Unknown failure (at android.os.Binder.execTransact(Binder.java:731))
5.needed by
Build command failed. Error while executing process D:\AndroidSDK\cmake\3.6.4111459\bin\cmake.exe with arguments {--build E:\NK\AndroidProject\app\.externalNativeBuild\cmake\debug\arm64-v8a --target native-lib} ninja: error: '../../../../build/intermediates/cmake/debug/obj/arm64-v8a/libmy-lib.so', needed by '../../../../build/intermediates/cmake/debug/obj/arm64-v8a/libnative-lib.so', missing and no known rule to make it
出現這個問題就表示連結時時候找不到對應架構的庫
6.x86_64,x86,armeabi-v7a,arm64-v8a
WARNING: Targeted device ABI or comma-delimited ABIs [x86_64,x86] is not one of []. Nothing to build.
7.ABIs [x86_64,x86]
WARNING: ABIs [x86_64,x86] set by 'android.injected.build.abi' gradle flag contained 'X86' not targeted by this project. 還不知道怎麼解決,此時我只添加了x86_64的庫,可能是這個原因
持續更新中。。。