1. 程式人生 > >記錄安卓學習遇到的坑

記錄安卓學習遇到的坑

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.。 解決辦法就是這個

https://bbs.csdn.net/topics/392293878?page=1#post-403538779裡面有很多方法。本人用的是28樓的解決辦法

5.安裝Genymotion模擬器

  1. 下載並安裝完Genymotion和VirtualBox
  2. 在Android Studio的`File->Settings->Pulgins裡面搜尋Genymotion,找到Genymotion項,右擊,下載並安裝。
  3. 重啟Android Studio,如果在工具欄未顯示Genymotion模擬器,則點選`View->ToolBar,然後就會顯示了。
  4. 點選Genymotion選項,建立模擬器,需要登入。
  5. 注意,Genymotion裡面只有安卓

6.當app執行時出現Activity class {} does not exist.Error while Launching activity.

  1. 用adb uninstall com.xx.xxx(包名)
  2. 但是要注意adb的路徑如果沒有新增到環境變數時,要使用絕對路徑

android框架

1.TextView

  1. TextView.setText(),可以改變在xml檔案中設定的值
  2. 引數中只能用字串,用int也可以,但是這個int並不表示一個數據,而是一種標識。所以用int執行app會閃退。
  3. 可以用String.ValueOf(int)

2.出現read timed out

  1. repositories {
            google()
            mavenCentral()
            maven{
                url 'https://maven.google.com'
            }
            jcenter()
        }

    兩個repositories都是這樣

3.在自己生成庫的時候出現,undefined reference to '__android_log_print'

  1. 沒有將日誌庫整合到我們自己的庫

  2. #include <Android/log.h>

  3. 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的庫,可能是這個原因

持續更新中。。。