Category Archives: Android

Some useful ADB Command – 在開發Android /Tizen Application 時一些得重要的 ADB 指令

ADBAndroid Debug Bridge
– 用來deploydebug Android app到 手機來測試的.. FireFox OS 和其實的 Mobile Application 很多也是用ADB

以下有些我覺得很有用的 adb 指令想和大家分享

adb devices
– 這個指令是用來列出..在電腦上所有連接的實體設備[Physical devices] 模擬器 [Emulator]

adb kill-server
– 當你已經把devices 連接了電腦..但是 執行 “adb devices“時 沒有列出設備是.. 可以執行”adb kill-server” 去終止現在的adb server.. 嘗試去再啟動來認一下己連接的設備
adb devices could not detect devices

adb start-server
– 這個指令通常會在執行”adb kill-server” 後執行.. 以用來啟動 adb server
adb devices found devices

當我的電腦認不到我的device時..
我通常會不停到執行以下指令

<span style="color: #008000;"><strong>adb kill-server</strong></span>
<span style="color: #008000;"><strong>adb start-server</strong></span>
<span style="color: #008000;"><strong>adb devices</strong></span>

Hope you find it useful



VT not Supported – This computer does not support Intel Virtualization Tech nology (VT0x). HAXM cannot be installed.

今天當我嘗試安裝 Intel Hardware Accelerated Execution Manager
他出現了以下的錯誤信息

VT not Supported – This computer does not support Intel Virtualization Tech
nology (VT0x). HAXM cannot be installed. Please refer to the Intel HAXM documentation for more information.

VT not Supported - This computer does not support Intel Virtualization Tech nology (VT0x). HAXM cannot be installed. Please refer to the Intel HAXM documentation for more information.

原因是因為 Intel Virtualization Technology 是不可以和 Hyper-V 共同安裝..
所以便要暫時解決安裝 Hyper-V 才可以安裝 Intel HAXM

解決方法

我們以在電腦上的 “Control Panel“-> “Programs and Features
之後選擇 “Turn Windows features on or off
之後 untick “Hyper-V” 的check box
Enable/Disable Hyper-V
按”OK/確定
之後他便會叫你重新啟動電腦

重新啟動電腦後便可以安裝 “Intel Hardware Accelerated Execution Manager” 了

Install Intel Hardware Accelerated Execution Manager HAXM

Hope you find it useful

Android Rate Button – 如何建立Android 評分按鈕

最近到了一個電腦活動
他們講解了鼓勵Apps使用者在你的App評分的重要性

所以使想到要為自己的程式更新..增加一個方便使用者Rate This App的功能
做了一會Research很發現..

解決方法十分簡單
我們可以建立一個功能.. 這可以方便將來重用…
之後使用 getPackageName 這個功能來取後這個程式的 Namespace
再建立一個 Google Play Store的網址連結
之後在用一個Intent來關啟便可以了
Google Play Store - L Quiz UK

E.G.

public void RateMyApp(){

  // 建立一個Intent - 在這個Intent 上使用 Google Play Store 的連結
  // E.G. market://details?id=
  // 之後用 getPackageName 這個功能來取後這個程式的 Namespace.
  Intent goToMarket = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + getPackageName()));
 
  try {
        // 之後開始一個新的Activity 去這個Intent
        startActivity(goToMarket);
  } catch (ActivityNotFoundException e) {
        // 如果有錯誤的話 使用正常的網址來連接到 Google Play Store的網頁
        startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://play.google.com/store/apps/details?id=" + getPackageName())));
  }
}

大家有沒有嘗試過找的 L Quiz UK App 呢?
https://play.google.com/store/apps/details?id=com.sharechiwai.lquizuk
L Quiz UK - About Page and Rate my App button

Hope you find it useful

Google Play Service Proguard Exception – 在ProGuard 上Google Play Service的設定 #ProguardException

相信很多寫Android App的朋友都有Proguardobfuscation 他們的程式碼

為了方便自己不用到Google 去搜尋 Google Play ServiceProguard Exception設定
所以便在這裡分享這個常用的 設定

-keep class * extends java.util.ListResourceBundle {
    protected Object[][] getContents();
}

-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
    public static final *** NULL;
}

-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
    @com.google.android.gms.common.annotation.KeepName *;
}

-keepnames class * implements android.os.Parcelable {
    public static final ** CREATOR;
}

ProGuard Google Play Services Exception

詳情可以參考以下的網址
http://developer.android.com/google/play-services/setup.html

在這建立一個Tag 來記下所有Proguard的 Exception Rules
#ProguardException

Hope you find it useful

no resource identifier found for attribute ‘ adsize ‘ in package – Android Studio – Google Play Services

最近幾天都在嘗試學習如何在Android Studio上使用 Google Play Services AdMob
之前的Android App 是用Admob SDK的

之前出現了
UNEXECTED TOP-LEVEL EXCEPTION – com.android.dex.decExeption: Mulitiple dex file define的問題
UNEXECTED TOP-LEVEL EXCEPTION - com.android.dex.decExeption: Mulitiple dex file define
所以我便刪除了

compile 'com.google.android.gms:play-services:4.2.42'
compile files('libs/google-play-services.jar')

使用Android Studio 0.5.1 build.gradle上的

compile fileTree(dir: 'libs', include: ['*.jar'])

嘗試做了很久Research..試了很多方法..可惜都解決不到
no resource identifier found for attribute ‘ adUnitId ‘ in package android studio

最後嘗試以直角去解決這個問題…終於能幸運地解決 =)

解決方法
應該是更新了Android Studio 0.5.1 Gradle的處理放法不同的關係..
所以有小小混亂

解決這個問題
我們需要Comment out /或刪去build.gradle上的

compile fileTree(dir: 'libs', include: ['*.jar'])

之後再加上Google Play Services的 參考
我的方法是
Android Project上按Right Click -> 選擇”Open Module Settings
Android Studio - Open Module Settings
之後便會出現”Project Structure” Windows “Project Settings” -> “Module
在右手邊有一些選項..
選擇 “Dependencies
之後按”+” -> 選擇”Library Dependency
Project Structure - Module -> Library Dependency
Choose Library Dependency” windows 便會彈出來..
我們可以在這裡選擇 “Google Play Services
Android Studio - Choose Library Dependency
之後按”OK
他便會在build.gradle加入一些和Google Play Service相關的設定/參考
Android Studio - build.gradle
完成後再次Compile這個Project
之後便可以解決這個問題了
no resource identifier found for attribute ‘ adUnitId ‘ in package” 的錯誤便會消失了

Hope you find it useful