Android Studio
1.下载Android studio时默认安装即可,不需要把AVD也装上
2.在添加第一个项目时,会报一个28.0.2的错误信息,由于安卓版本信息不同,会报不同的版本信息。意思就是SDK没有下载完全,去SDK Manager把对应的版本再在完全就好了,中途不要最小化窗口。最好是,安装完完整的SDK后,放弃你的第一个Application项目。自己重新建立一个新的项目。
3.在创建AVD时,要创建x86的
4.在家里只要上面3步就可以运行Hello World了,但是在公司的电脑却报了一个错误 Unable to resolve dependency for ':app@debugAndroidTest/compileClasspath': Could not resolve junit:junit:4.12.。
解决办法就是这个https://bbs.csdn.net/topics/392293878?page=1#post-403538779里面有很多方法。本人用的是28楼的解决办法
5.安装Genymotion模拟器
6.当app运行时出现Activity class {} does not exist.Error while Launching activity.
android框架
1.TextView
2.出现read timed out
repositories {
google()
mavenCentral()
maven{
url 'https://maven.google.com'
}
jcenter()
}
两个repositories都是这样
3.在自己生成库的时候出现,undefined reference to '__android_log_print'
没有将日志库集成到我们自己的库
#include
target_link_libraries(my.lib ${log-lib})就可以了
4.Unknown failure (at android.os.Binder.execTransact(Binder.java:731))
https://blog.csdn.net/lplj717/article/details/77991365
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的库,可能是这个原因
8.Activity class {XXX}does not exist
Error: Activity class {com.example.jnitest3/com.example.jnitest3.MainActivity} does not exist.
9.System.loadLibrary()只能加载动态库
如果我们想要加载静态库,就必须先将静态库连接到动态库后才能使用。
并且,由于无法直接loadLibrary静态库,所以java中的native方法是无法和静态库中方法想关联的。
所以,实现native方法的源文件必须生成的是动态库,在该源文件中调用静态库的接口,实现整个流程。
10.在自己编译一个.c文件并将它生成库时,放入android studio使用,在连接时会找不到函数,因为c和c++的命名规则不一样。只要单纯的把后缀名.c换成.cpp就可以了,或者在.c文件中加上extern "C"。
持续更新中。。。