技術-工具-Android Studio
如何引入so庫
方法1:
在src/main/目錄下新建jniLibs目錄,工程會自動加載src目錄下的so動態庫
方法2:
在app/libs下放入對應不同的CPU架構的so文件,這樣工程并不會自動加載libs下的so,需要在gradle編譯時,通過加入代碼:jniLibs.srcDir'libs'來說明so的路徑為該libs路徑
Gradle編譯問題:
1 問題:
':app:transformNative_libsWithStripDebugSymbolForDebug'.
> java.lang.NullPointerException (no error message)
解決方法1 :
可能是ndk版本 引起的問題。
編輯local.properties文件,注釋掉這一行即可:ndk.dir=....
解決方法2:
修改gradle-wrapper.properties中distributionUrl的gradle 版本即可。
2 問題:
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList ...] couldn't find "libAdwoLocker.so"
解決方法:
-------------未解決----------
3 問題:
Please configure Android SDK:
解決方法:
4 問題:
Error:Failed to open zip file.
Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)
解決方法:
gradle.zip包下載失敗造成的
改成其他可用版本的zip包,或者下載然后使用離線zip包
5 問題:
Error:Configuration with name 'default' not found.
解決方法:
setting.gradle中引用了不存在的第三方庫。
6 問題:
build ' ' gradle project info
解決方法:
1 離線Gradle或者使用vpn.
2 下載離線gradle,解壓到~/.gradle/wapper/dists目錄下,重啟AS即可(推薦)。
7 問題:
引入新module時,“Select modules to import” error
解決方法:
由于gradle配置錯誤導致的。
把module混淆打包時配置了buildTypes,工具會把這個module認為是一個項目,而不再是一個module。解決的方法也就是把buildTypes注釋掉即可。
布局顯示問題:
1 問題:
Android studio the following classes could not be instantiated:
--android.support.v7.internal.widget.ActionBarOverlayLayout
解決方法:
You have to do two things:
be sure to have imported right appcompat-v7 library in your project structure -> dependencies
change the theme in the preview window to not an AppCompat theme. Try with Holo.light or Holo.dark for example.
如何生成混淆后的jar包:
1 在打包模塊build.gradle 中,添加:
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
I
2 修改該module的proguard-rules.pro文件:
-keep public class com.admaster.sdk.lan.manager.LanManager {
public *;
}
-keep class * extends android.os.Parcelable {
public *;
}
3 在該module的build.gradle文件中編寫打包方法:
task makeJar(type: Copy){
delete 'build/libs/lan.jar'
from('build/intermediates/bundles/release/')
into('build/libs/')
include('class.jar')
rename('class.jar','lan.jar')
}
makeJar.dependsOn(build)
4 執行gradlew makejar命令:
gradlew makeJar
5 解決每次執行/.gradlew命令時都會下載的問題:
方法1:
下載gradle文件,放到gradle/wrapper目錄下
修改gradle-wrapper.properties的distributionUrl為:
distributionUrl=gradle-1.11-bin.zip(根據版本不同進行修改)
缺點:
每個項目都需要這么搞豈不是很累
而且我的Mac電腦本身磁盤空間就小,一個包有60M左右,有10個項目,就會多占用500M的空間。
方法2:
http://stackoverflow.com/questions/22896569/how-to-use-gradle-zip-in-local-system-without-downloading-when-using-gradle-wrap
如何正確的修改包名:
Project結構下:
小齒輪按鈕--確保Compact Empty Middle Package未選中
Git教程
1 添加忽略文件:
編輯.gitignore即可。
2 刪除遠程分支:
git push origin :branch-name
注意:冒號前面的空格不能少,原理是把一個空分支push到server上,相當于刪除該分支。
3 刪除本地分支:
git branch -D branch-name
4 修改commit內容
git commit --amend
未push
git rebase -i head~3
push之前提交的歷史注釋
5 重命名分支:
git branch -M branch-name-old new branch-name-new
6 本地文件添加git管理:
git init
把整個目錄變成git可以管理的倉庫
git remote add origin git@github.com:michaelliao/learngit.git
將本地的倉庫和遠程倉庫關聯起來
git push -u -f origin master
把本地倉庫的所有內容推送到遠程倉庫上。
-u 參數:不但會把本地master推送到遠程新master分支,還會把本地master和遠程master關聯起來
-f 參數:強制推送
插件:
SQLScout:
查看數據庫插件
http://www.idescout.com/
參考:
Android Studio Rendering Problems : The following classes could not be found