❶ android Studio怎麼用
Android Studio 是一款Android集成開發環境軟體。基於IntelliJ IDEA. 類似 Eclipse ADT,Android Studio 提供了集成的 Android 開發工具用於開發和調試。
在IDEA的基礎上,Android Studio 提供:
基於Gradle的構建支持
Android 專屬的重構和快速修復
提示工具以捕獲性能、可用性、版本兼容性等問題
支持ProGuard 和應用簽名
基於模板的向導來生成常用的 Android 應用設計和組件
功能強大的布局編輯器,可以讓你拖拉 UI 控制項並進行效果預覽
先來到Android Studio的bin目錄下,修改studio.bat 第72行GOTO end 在它前面加上PAUSE 用於查看錯誤消息,進入cmd 然後指向Android Studio目錄下 運行studio.bat 可以查看錯誤消息,去修改android-studio\bin目錄下的studio.exe.vmoptions 去除第5行的 -XX:+UseCodeCacheFlushing,啟動成功
用記事本打開android-studio\bin 目錄下的studio.bat
將 SET VM_OPTIONS_FILE=%IDE_BIN_DIR%\studio%BITS%.exe.vmoptions
改為 SETVM_OPTIONS_FILE=%IDE_BIN_DIR%\studio%BITS%.exe啟動成功[10]
用文本工具打開
studio.bat
line25 to line 28:
SET JRE=%JDK%
IF EXIST "%JRE%\jre" SET JRE=%JDK%\jre
SET BITS=IF EXIST "%JRE%\lib\amd64" SET BITS=64
可以看到裡面設置軟體支持系統位數是64位,如果自己所用電腦是32位的 jre/lib目錄下只有i386文件,嘗試把
IF EXIST "%JRE%\lib\amd64" SET BITS=64 改為
IF EXIST "%JRE%\lib\i386" SET BITS=32
檢查jdk路徑是否配置,1.6和1.7都沒有問題,jdk環境變數配置確保正確。
Android Studio 0.2 Released
Jun 6, 2013 Google released Android Studio 0.1.3.
❷ 使用androidstudio設計一個程序
Androidstudio作為面市不久的安卓開發工具,越來越受到大家的喜愛,這里我將介紹如何在Androidstudio中創建一個APP項目,並在以後經驗中介紹其他有關Androidstudio的操作和編程方燃銷法。
工具/原料
Androidstudio
方法/步驟
1
打開軟體,在菜單中選擇file-》newproject打開創建向導喚段辯。
2
配置項目,確定各個名稱和存放項目存放路徑;
Applicationname:項目名稱
CompanyDomain:公司域名
Packagename:app打包名稱
projectlocation:存放路徑
最好將名稱中的examples去掉。
3
接下來設定兼容的安卓的最小版本,這依情況而定,我這里設定為安卓2.3版本。
4
如果不確定各個版本的區別,可以點擊「helpmechoose」,在打開的窗口中介紹了各個安卓版本的功能。
步驟閱讀
5
確定後最小兼容版本後,選擇項目的活動類型,這里有很多現成的模板可以使用,對於初學者選擇默認的BlankActivity即可。
6
接下來設定活動名稱,和缺界面布局的名稱,以及界面標題,最後點擊finish完成項目的創建。
7
創建完後,在項目名-》app-》src-》main-》res-》layout下雙擊xml文件就是打開活動界面設計窗口了。
注意事項
注意根據情況合理選擇安卓的最小兼容版本
Androidstudio教程(共6篇)
❸ AndroidStudio自帶的混淆配置
###########################以下是AndroidStudio自尺液帶的混淆配好嫌置協議###############################
-dontusemixedcaseclassnames
-
-verbose
-dontoptimize
-dontpreverify
-keepattributes Annotation
-keep public class com.google.vending.licensing.ILicensingService
-keep public class com.android.vending.licensing.ILicensingService
-keepclasseswithmembernames class * {
native <methods>;
}
-keepclassmembers public class * extends android.view.View {
void set ( * );
*** get ();
}
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keepclassmembers class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator CREATOR;
}
-keepclassmembers class * .R$ {
public static <fields>;
}
-dontwarn android.support.**
-keep class android.support.annotation.Keep
-keep @android.support.annotation.Keep class * {*;}
-keepclasseswithmembers class * {
@android.support.annotation.Keep <methods>;
}
-keepclasseswithmembers class * {
@android.support.annotation.Keep <fields>;
}
-keepclasseswithmembers class * {
@android.support.annotation.Keep <init>(...);
}
###########################以友困手下是需要手動的混淆配置協議###############################
-libraryjars "C:Program FilesJavajre1.8.0_151lib t.jar"
-optimizationpasses 5
-dontusemixedcaseclassnames
-ignorewarnings
-keep class com.zhuge.analysis.stat.ZhugeParam{
*;
}
-keep class com.zhuge.analysis.listeners.ZhugeInAppDataListener{
*;
}
❹ androidstudio項目簽名打包生成apk出錯整理
本人由於一些誤操作接觸到打包文件的問題,故作此文避免再次踩坑。
1.入口:build->generate signed bundle/APK,打開後如下圖1.1:
2.選中apk打包,進入next:
3.選擇打包類型:
4.箭頭所指即為生成的混淆+簽名後的打包apk文件。(*簽名文件不可以隨便更改,如果有申請第三方的功能,都需要這個簽名文件去檢驗的,比如說集成了微信支付,我們汪判換簽名文件的話,微信那邊就會檢驗不通過)
5.本文重點並非上述步驟,而是我自己重新生成了一個密鑰後,打包文件變成了.aab後綴文件。於是我想研究下它的打包過程和原理:
5.1在我們的build.gradle中可以更新打包文件版本號名稱(自己配一下):
5.2簽名文件會在此處進行對應生成信息:
5.3當然,你的項目文件也會對應生成相應的簽名文件,例如我此處的文件為yoocarjks.jks:
5.4自己配一下打包生成文件的命名:
以上over
6.*問題點:
6.1.簽名文件生成的亂碼是些啥?
6.2.由於我當時把項目扔垃圾桶了,還有些文件並沒有搞清楚是幹嘛的,如下圖:
buildoutputcleanuo.lock/executionhistory.bin/executionhistory.lock/filehashes.bin/filehashes.lock/outputfiles.bin/xxx.app.iml這些文件分別幹嘛的,從包名看像是打包生成的文件。
作此文激勵下自己空了去學習查閱彎桐下,若有知道的小夥伴歡迎留言分埋陵坦享~此文會繼續追更~
7.1關於xxx.app.iml看到一篇不錯的出錯解決方案:
https://blog.csdn.net/qq_38998213/article/details/81907253
設計原理如下:
這個文件,後續遇到問題我再深入了解下
❺ 如何讓用Android studio 導出jar包並混淆和aar
首先說明我使用的android studio
版本是0.4.因為現在android studio的bug還不較多,所以你的版本能不能正常使用我就不敢說了。
如果你只是單純的想使用actionbarsherlock的話,引用是十分簡單的dependencies {
// compile fileTree(dir: 'libs', include: '*.aar')
compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
compile 'com.android.support:support-v4:18.0.+'
}
不過官方也出了一個兼容包,也非常的不錯。so 沒必要非得要使用actionbarsherlock。
然後重新編譯一下項目就行了。(ps
引用第三方jar包,請看我的第一行注釋,你只要新建一個libs的文件夾,然後把想要jar包復制到文件夾下,接著把注釋那句復制到build文件中,修改一下(*.aar
-> *.jar)就可以了)。
但是我們要是使用本地的自定義的aar文件,請看我的實現過程,如果你有更好的請轉告小弟共同進步
第一步 :生成aar文件
我的方法是通過maven-android-plugin來生成的,如果你使用過actionbarsherlock以前的版本的話,這個工具應該不陌生,如果你連maven
都不知道的話,建議好好學習一下maven,雖然現在gradle很火 ,但是我還是最喜歡maven。
關於具體生成步驟不久不詳細說了,文章最後貼出幾個網址供大家學習使用,放心我按順序給你們,只要一步一步的來絕對能成功
1 把你的maven版本提升到3.1.1
2 去github上clone下來
maven-android-sdk-deployer 這個項目
3 通過maven-android-plugin生成一個android項目
mvn archetype:generate \
-DarchetypeArtifactId=android-quickstart \
-DarchetypeGroupId=de.akquinet.android.archetypes \
-DarchetypeVersion=1.0.11 \
-DgroupId=your.company \
-DartifactId=my-android-application
如果不能夠編譯我們可能要修改一下pom
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.lee.study.android</groupId>
<artifactId>NiMa</artifactId>
<version>0.0.1</version>
<packaging>aar</packaging>
<name>NiMa</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<platform.version> 4.1.1.4
</platform.version>
<android.plugin.version>3.8.0</android.plugin.version>
</properties>
<dependencies>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<version>${platform.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>${android.plugin.version}</version>
<extensions>true</extensions>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<configuration>
<sdk>
<platform>16</platform>
<path>E:\android_work\sdk\</path>
</sdk>
</configuration>
</plugin>
</plugins>
</build>
</project>
上面都是我的pom,修改了打包類型和插件版本以及添加了sdk位置。
然後執行打包命令,就可以生成aar文件了,如果你是已經有寫好的類庫的話,可以嘗試這修改成maven形式的。
第二步
導入到android studio中 創建libs文件夾,放入想要導入的文件
1 修改build.gradle ,依然是給出我的大家可以按照自己的項目對比修改
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.6.+'
}
}
apply plugin: 'android'
repositories {
mavenLocal()
mavenCentral()
flatDir {
dirs 'libs'
}
}
android {
compileSdkVersion 18
buildToolsVersion "18.1.1"
defaultConfig {
minSdkVersion 7
targetSdkVersion 18
}
}
dependencies {
// compile fileTree(dir: 'libs', include: '*.aar') compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
compile 'com.jayway.maven.plugins.android.generation2.samples.libraryprojects:aar-lib1:1.0.0@aar'
//compile 'com.lee.study.android:NiMa:0.0.1@aar' compile 'com.android.support:support-v4:18.0.+'
}
android {
compileOptions.encoding = "UTF-8"
}
repositories
添加了 flatDir , dependencies 裡面添加了 依賴的aar文件。
如果你做到這一步,重新編譯一下依賴就添加好了,我目前的版本添加完了aar訪問aar中的資源文件是不成問題的,但是不能訪問到aar中的
類文件。如果你和我一樣不幸的話,請看下一步
2 手動的添加class.jar文件到android -studio
選中項目F4 ,可以查看到詳細的依賴關系
❻ 什麼是代碼混淆andriod和android-studio工程如何啟用代碼混淆功能
代碼混淆有兩種重要功能。其一,混淆代碼。其二,優化代碼。
進行代碼裂薯混淆的程序被稱為代碼混淆器(混淆工具)。進行代碼混淆的意義主畝源友要在於對代碼進行一定程度的加密。
在android 2.3之後,sdk中就已經集成了混淆器proguard(目錄在sdk\tools\proguard),所以我們可以很方便的直接在工程中開啟代碼混淆。
eclipse android工程開啟混淆功能,我們需要手動在項目文件.properties(我的是project.properties文件)中添加下面的代碼
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
某些方式迅槐創建的項目中可能已經有如上兩行了,只是默認被注釋掉了,只要把proguard.config這一行解注釋就好了。這樣代碼混淆功能就開啟了,在打簽名包時,項目會自動進行代碼混淆。